@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
/*------------------------------------------------------------------
Pages v2.1.5
Theme : Default
Generated From LESS
[Table of contents]

1. Layouts
2. View Ports
3. Chat
4. Panels
5. Typography
6. Buttons
7. Alerts
8. Notifications
9. Progress Indicators
10. Modals
11. Tabs & Accordians
12. Sliders
13. Treeview
14. Nestables
15. Form Elements
16. Tables & Datatables
17. Charts
18. Lists
19. Social App
20. Email App
21. Calendar App
22. Login
23. Lockscreen
24. Timeline
25. Gallery
26. Vector Map
27. Pricing Table
28. Widgets
29. Misc
30. Print
31. Demo
-------------------------------------------------------------------*/
/*!
* direction.less v0.1.0
*/
/*------------------------------------------------------------------
[1. Layouts]
*/
html {
  height: 100%;
}
/* Body Triggers for layout options
------------------------------------------------------------------
*/
body {
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #fafafa;
  direction: ltr;
}
body.fixed-header .header {
  position: fixed;
  left: 0;
  top: 0;
}
body.mobile .sidebar-menu {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
}
body.mobile .sidebar-menu > ul {
  height: auto !important;
  overflow: visible !important;
  -webkit-overflow-scrolling: touch !important;
}
body.mobile .page-sidebar .sidebar-menu .menu-items li:hover a {
  color: #7a7a83;
}
body.mobile .page-sidebar .sidebar-menu .menu-items li:hover .icon-thumbnail {
  color: #7a7a83 !important;
}
body.mobile .page-sidebar .sidebar-menu .menu-items li.active > a,
body.mobile .page-sidebar .sidebar-menu .menu-items li.open > a {
  color: #fff;
}
body.mobile .page-sidebar .sidebar-menu .menu-items li.active > .icon-thumbnail,
body.mobile .page-sidebar .sidebar-menu .menu-items li.open > .icon-thumbnail {
  color: #fff;
}
body.mobile .drager {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
body.sidebar-visible .page-sidebar .scroll-element {
  visibility: visible;
}
body.sidebar-visible .page-sidebar .menu-items .icon-thumbnail {
  -webkit-transform: translate3d(-14px, 0, 0);
  transform: translate3d(-14px, 0, 0);
  -ms-transform: translate(-14px, 0);
}
body.sidebar-visible .page-sidebar .sidebar-header .sidebar-header-controls {
  -webkit-transform: translate3d(48px, 0, 0);
  transform: translate3d(48px, 0, 0);
  -ms-transform: translate(48px, 0);
}
body.menu-pin .page-sidebar .sidebar-header .sidebar-header-controls {
  -webkit-transform: translate3d(48px, 0, 0);
  transform: translate3d(48px, 0, 0);
  -ms-transform: translate(48px, 0);
}
body.no-header .page-container .page-content-wrapper .content {
  padding-top: 0px;
}
body.no-header .header {
  border-bottom-color: transparent;
}
body.dashboard {
  background: #f5f5f5;
}
body.dashboard .page-container {
  background: #f5f5f5;
}
body.rtl [class^="col-"],
body.rtl [class*="col-"] {
  float: left;
}
/* Page Loader
------------------------------------
*/
.pace .pace-progress {
  background: #10cfbd;
  height: 3px;
}
.pace .pace-progress-inner {
  box-shadow: none;
}
.pace .pace-activity {
  -webkit-animation: none;
  animation: none;
  top: 73px;
  background: url('../img/progress/progress-circle-success.svg') no-repeat top left;
  background-size: 100% auto;
  margin: 0 auto;
  border-width: 0;
  border-radius: 0;
  width: 28px;
  height: 40px;
  right: 19px;
  left: auto;
}
/* Header
------------------------------------
*/
.header {
  position: relative;
  display: block;
  height: 60px;
  width: 100%;
  padding: 0 20px 0 0;
  z-index: 800;
  background-color: #fff;
  border-bottom: 1px solid rgba(230, 230, 230, 0.7);
}
.header a {
  color: #3b4751;
}
.header a.btn {
  color: #8b91a0;
}
.header a.btn-warning {
  color: #eaeef1;
}
.header .pull-left,
.header .pull-right {
  z-index: 10;
  position: relative;
}
.header .header-inner {
  height: 60px;
  width: 100%;
  vertical-align: middle;
  display: table-cell;
}
.header .header-inner .toggle-sidebar {
  display: none;
}
.header.transparent {
  background-color: transparent !important;
}
.header .brand {
  vertical-align: middle;
  width: 280px;
  text-align: center;
}
.header .bubble {
  border-radius: 100%;
  height: 14px;
  width: 14px;
  background-color: rgba(226, 32, 91, 0.77);
  color: #ffffff;
  position: relative;
  top: -6px;
  float: right;
  right: -5px;
}
.header .notification-list {
  display: inline-block;
}
.header .search-link {
  display: inline-block;
  margin-left: 15px;
  color: #626262;
  opacity: .7;
  font-size: 16px;
  font-family: wf_segoe-ui_light, wf_segoe-ui_normal, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.header .search-link i {
  margin-right: 15px;
  font-size: 16px;
}
.header .search-link:hover {
  opacity: 1;
}
/* Bootstrap navbar
------------------------------------
*/
.navbar {
  top: -1px;
}
.navbar-nav > li > a {
  padding-top: 20px;
  padding-bottom: 20px;
}
.navbar-default {
  background-color: #ffffff;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-default .navbar-nav > .active > a:focus {
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-default .navbar-nav > .active > a:focus {
  background-color: transparent;
}
.navbar-toggle {
  border-radius: 0;
  background-color: transparent !important;
}
/* Main Menu Sidebar
------------------------------------
*/
.page-sidebar {
  width: 280px;
  background-color: #2c2c31;
  z-index: 1000;
  left: -210px;
  position: fixed;
  bottom: 0;
  top: 0;
  right: auto;
  overflow: hidden;
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
  -moz-transition: -moz-transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
  -o-transition: -o-transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
  transition: transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
}
.page-sidebar a,
.page-sidebar button {
  color: #7a7a83;
}
.page-sidebar a:hover,
.page-sidebar button:hover,
.page-sidebar a:active,
.page-sidebar button:active {
  color: #ffffff;
}
.page-sidebar a:visited,
.page-sidebar button:visited,
.page-sidebar a:focus,
.page-sidebar button:focus {
  color: #7a7a83;
}
.page-sidebar .scroll-element {
  visibility: hidden;
}
.page-sidebar .sidebar-header {
  /* Side-bar header */
  display: block;
  height: 60px;
  line-height: 60px;
  background-color: #28282c;
  border-bottom: 1px solid #242428;
  color: #ffffff;
  width: 100%;
  padding: 0 20px;
  padding-left: 30px;
  clear: both;
  z-index: 10;
  position: relative;
}
.page-sidebar .sidebar-header .sidebar-header-controls {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.05, 0.74, 0.27, 0.99);
  transition: transform 0.4s cubic-bezier(0.05, 0.74, 0.27, 0.99);
  -webkit-backface-visibility: hidden;
}
.page-sidebar .sidebar-header .sidebar-slide-toggle i {
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}
.page-sidebar .sidebar-header .sidebar-slide-toggle.active i {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.page-sidebar .close-sidebar {
  position: absolute;
  right: 19px;
  top: 14px;
  padding: 9px;
  z-index: 1;
}
.page-sidebar .close-sidebar > i {
  color: rgba(255, 255, 255, 0.57);
}
.page-sidebar .sidebar-overlay-slide {
  /* Side-bar Top Slider */
  width: 100%;
  height: 100%;
  background-color: #28282c;
  display: block;
  z-index: 9;
  padding: 80px 20px 20px 20px;
}
.page-sidebar .sidebar-overlay-slide.from-top {
  top: -100%;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.page-sidebar .sidebar-overlay-slide.from-top.show {
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
.page-sidebar .sidebar-menu {
  /* Side-bar Menu */
  height: calc(100% - 50px);
  position: relative;
  width: 100%;
}
.page-sidebar .sidebar-menu .outer-tab-nav-section {
  display: inline-block;
  width: 45px;
  position: absolute;
  height: 100%;
  background-color: #0aa699 !important;
}
.page-sidebar .sidebar-menu .menu-items {
  /* Side-bar Menut Items */
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: calc(100% - 10px);
  width: 100%;
}
.page-sidebar .sidebar-menu .menu-items li:hover > .icon-thumbnail,
.page-sidebar .sidebar-menu .menu-items li.open > .icon-thumbnail,
.page-sidebar .sidebar-menu .menu-items li.active > .icon-thumbnail {
  color: #ffffff;
}
.page-sidebar .sidebar-menu .menu-items li:hover > a,
.page-sidebar .sidebar-menu .menu-items li.open > a,
.page-sidebar .sidebar-menu .menu-items li.active > a {
  color: #ffffff;
}
.page-sidebar .sidebar-menu .menu-items li ul.sub-menu li:hover > .icon-thumbnail,
.page-sidebar .sidebar-menu .menu-items li ul.sub-menu li.open > .icon-thumbnail,
.page-sidebar .sidebar-menu .menu-items li ul.sub-menu li.active > .icon-thumbnail {
  color: #33d8d7;
}
.page-sidebar .sidebar-menu .menu-items li ul.sub-menu li:hover > a,
.page-sidebar .sidebar-menu .menu-items li ul.sub-menu li.open > a,
.page-sidebar .sidebar-menu .menu-items li ul.sub-menu li.active > a {
  color: #33d8d7;
}
.page-sidebar .sidebar-menu .menu-items li > a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 70%;
}
.page-sidebar .sidebar-menu .menu-items > li {
  display: block;
  padding: 0;
  clear: right;
}
.page-sidebar .sidebar-menu .menu-items > li:after,
.page-sidebar .sidebar-menu .menu-items > li:before {
  display: table;
  content: " ";
  clear: both;
}
.page-sidebar .sidebar-menu .menu-items > li > a {
  display: inline-block;
  padding: 0 3px;
  padding-left: 32px;
  min-height: 40px;
  line-height: 40px;
  font-size: 14px;
  clear: both;
}
.page-sidebar .sidebar-menu .menu-items > li > a.open {
  background: #313131;
}
.page-sidebar .sidebar-menu .menu-items > li > a > .arrow {
  float: right;
}
.page-sidebar .sidebar-menu .menu-items > li > a > .arrow:before {
  float: right;
  display: inline;
  font-size: 16px;
  font-family: FontAwesome;
  height: auto;
  content: "\f104";
  font-weight: 300;
  text-shadow: none;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}
.page-sidebar .sidebar-menu .menu-items > li > a > .arrow.open:before {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.page-sidebar .sidebar-menu .menu-items > li > a > .badge {
  margin-top: 12px;
}
.page-sidebar .sidebar-menu .menu-items > li > a > .title {
  float: left;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 65%;
}
.page-sidebar .sidebar-menu .menu-items > li > a > .details {
  font-size: 12px;
  opacity: 0.4;
  display: block;
  clear: both;
}
.page-sidebar .sidebar-menu .menu-items > li > a.detailed > .title {
  line-height: 24px;
}
.page-sidebar .sidebar-menu .menu-items > li > a.detailed > .details {
  line-height: 16px;
}
.page-sidebar .sidebar-menu .menu-items > li.active > ul.sub-menu {
  display: block;
}
.page-sidebar .sidebar-menu .menu-items > li > .icon-thumbnail:first-letter {
  text-transform: uppercase;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu > li ul.sub-menu li {
  padding-left: 10px;
  padding-right: 3px;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu > li ul.sub-menu .icon-thumbnail {
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-size: 10px;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a {
  line-height: 20px;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a > .title {
  float: left;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 65%;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a > .details {
  font-size: 12px;
  opacity: 0.4;
  display: block;
  clear: both;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a.detailed {
  padding: 0;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a.detailed > .title {
  line-height: 18px;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a.detailed > .details {
  line-height: 12px;
  font-size: 11px;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a > .arrow:before {
  float: right;
  margin-top: 1px;
  margin-right: 20px;
  display: inline;
  font-size: 16px;
  font-family: FontAwesome;
  height: auto;
  content: "\f104";
  font-weight: 300;
  text-shadow: none;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}
.page-sidebar .sidebar-menu .menu-items > li > ul.sub-menu li > a > .arrow.open:before {
  float: right;
  margin-top: 1px;
  margin-right: 18px;
  display: inline;
  font-family: FontAwesome;
  height: auto;
  font-size: 16px;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  font-weight: 300;
  text-shadow: none;
}
.page-sidebar .sidebar-menu .menu-items > li ul.sub-menu {
  display: none;
  list-style: none;
  clear: both;
  margin: 0 0 10px 0;
  background-color: #222226;
  padding: 18px 0 10px 0;
}
.page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li {
  background: none;
  padding: 0px 20px 0 40px;
  margin-top: 1px;
}
.page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li:hover > .icon-thumbnail {
  color: #33d8d7;
}
.page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li > a {
  display: inline-block;
  padding: 5px 0px;
  font-size: 13px;
  white-space: normal;
}
.page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li .icon-thumbnail {
  width: 30px;
  height: 30px;
  line-height: 30px;
  margin: 0;
  background-color: #2c2c31;
  font-size: 14px;
}
.page-sidebar .sidebar-menu .muted {
  color: #576775;
  opacity: .45;
}
.page-sidebar .icon-thumbnail [class^="bg-"],
.page-sidebar [class*="bg-"] {
  color: #fff;
}
[data-toggle-pin="sidebar"] > i:before {
  content: "\f10c";
}
/* Sidebar icon holder
------------------------------------
*/
.icon-thumbnail {
  display: inline-block;
  background: #222226;
  height: 40px;
  width: 40px;
  line-height: 40px;
  text-align: center;
  vertical-align: middle;
  position: relative;
  left: 0;
  float: right;
  margin-right: 14px;
  color: #7a7a83;
  font-size: 16px;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.05, 0.74, 0.27, 0.99);
  transition: transform 0.4s cubic-bezier(0.05, 0.74, 0.27, 0.99);
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-weight: bold;
}
.icon-thumbnail > i {
  font-size: 14px;
}
.nav-collapse.collapse {
  height: 100%  !important;
}
/* Secondary App Menu */
.toggle-secondary-sidebar {
  display: none;
}
.secondary-sidebar {
  background: #2f2f36;
  width: 250px;
  float: left;
  padding-left: 47px;
  height: 100%;
  position: fixed;
}
.secondary-sidebar.not-fixed {
  position: inherit;
}
.secondary-sidebar .btn-compose {
  font-family: 'Montserrat';
  font-size: 13px;
  font-weight: normal;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.secondary-sidebar .menu-title {
  color: rgba(122, 122, 131, 0.5);
  opacity: .5;
  font-size: 10.8px;
  font-family: 'Montserrat';
  font-weight: normal;
  letter-spacing: 0.03em;
}
.secondary-sidebar .main-menu {
  padding-left: 0;
}
.secondary-sidebar .main-menu > li {
  list-style: none;
}
.secondary-sidebar .main-menu > li.active > a {
  color: #48b0f7;
}
.secondary-sidebar .main-menu > li.active > a:hover {
  color: #48b0f7;
}
.secondary-sidebar .main-menu > li.active > a > .title {
  position: relative;
}
.secondary-sidebar .main-menu > li.active > a > .title:after {
  background: #48b0f7;
  border-radius: 50%;
  content: "";
  height: 7px;
  position: absolute;
  right: -14px;
  top: 6.5px;
  width: 7px;
}
.secondary-sidebar .main-menu > li a {
  font-size: 14px;
  color: #7a7a83;
  line-height: 37px;
}
.secondary-sidebar .main-menu > li a:hover {
  color: #fff;
}
.secondary-sidebar .main-menu > li a > .title i {
  margin-right: 6px;
  opacity: .9;
}
.secondary-sidebar .sub-menu {
  margin-left: 23px;
}
.secondary-sidebar .sub-menu li {
  list-style: none;
  padding: 0;
}
.secondary-sidebar .sub-menu li.active a {
  color: #fff !important;
}
.secondary-sidebar .sub-menu li a {
  color: rgba(122, 122, 131, 0.5);
  line-height: 25px;
}
.secondary-sidebar .sub-menu li a:hover {
  color: #fff;
}
.secondary-sidebar .sub-menu li a .badge,
.secondary-sidebar .main-menu li a .badge {
  background: transparent;
  font-size: 13px;
  color: #7a7a83;
  line-height: 25px;
}
.split-view {
  position: relative;
  height: 100%;
}
.split-view .split-list {
  float: left;
  width: 360px;
  background: #fff;
  height: 100%;
  overflow-y: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
  border-right: 1px solid #e6e6e6;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.split-view .split-list.slideLeft {
  -webkit-transform: translate(-100%, 0);
  -ms-transform: translate(-100%, 0);
  transform: translate(-100%, 0);
}
.split-view .split-list .list-refresh {
  position: absolute;
  right: 18px;
  top: 5px;
  color: #626262;
  opacity: .34;
  z-index: 101;
}
.split-view .split-list .list-view-fake-header,
.split-view .split-list .list-view-group-header {
  background: #f0f0f0;
  height: 30px;
  color: rgba(98, 98, 98, 0.7);
  font-family: 'Montserrat';
  text-transform: uppercase;
  font-size: 10.8px;
  padding-left: 13px;
  padding-top: 6px;
  letter-spacing: 0.04em;
  width: 100%;
}
.split-view .split-list .item {
  height: 117px;
  list-style: none;
  position: relative;
  border-bottom: 1px solid rgba(230, 230, 230, 0.7);
  cursor: pointer;
}
.split-view .split-list .item .inline {
  width: 230px;
}
.split-view .split-list .item .inline > * {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-family: arial;
}
.split-view .split-list .item .recipients {
  letter-spacing: 0.01em;
}
.split-view .split-list .item .checkbox {
  float: left;
  clear: left;
  display: none;
}
.split-view .split-list .item .subject {
  font-family: 'Helvetica';
  font-size: 14.33px;
  color: #3b4752;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 36px;
  display: -webkit-box;
  white-space: normal;
  line-height: 18px;
}
.split-view .split-list .item .body {
  font-size: 12.6px;
  opacity: .52;
  height: 22px;
}
.split-view .split-list .item .datetime {
  color: #121212;
  font-family: arial;
  font-size: 11.1px;
  position: absolute;
  right: 20px;
  top: 15px;
}
.split-view .split-details {
  position: relative;
  overflow: auto;
  height: 100%;
}
.split-view .split-details .no-result {
  bottom: 0;
  left: 0;
  margin-top: -34px;
  opacity: 0.5;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
}
.split-view .split-details .actions {
  height: 50px;
  float: left;
}
.split-view .split-details .actions li {
  list-style: none;
  position: relative;
}
.split-view .split-details .actions li:last-child:after {
  display: none;
}
.split-view .split-details .actions li:after {
  content: "";
  height: 14px;
  position: absolute;
  right: -4px;
  top: 18px;
  width: 1px;
  background: rgba(0, 0, 0, 0.07);
}
.split-view .split-details .actions li a {
  font-size: 13.1px;
  color: #626262;
  font-weight: 600;
  padding: 0 13px;
  line-height: 50px;
  white-space: nowrap;
}
.inner-content {
  margin-top: 0px;
  padding: 0px;
  overflow: auto;
  min-height: 100%;
  margin-left: 250px;
}
/* Quick View
------------------------------------
*/
.quickview-wrapper {
  position: fixed;
  right: -285px;
  top: 0;
  width: 285px;
  background: #fff;
  bottom: 0;
  z-index: 1000;
  box-shadow: 0 0 9px rgba(191, 191, 191, 0.36);
  border-left: 1px solid rgba(222, 227, 231, 0.56);
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
  transition: transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-perspective: 1000;
}
.quickview-wrapper.open {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
}
.quickview-wrapper .quickview-toggle {
  position: absolute;
  right: 12px;
  top: 2px;
  color: #7a7a83;
  padding: 6px;
  opacity: 0.4;
}
.quickview-wrapper .quickview-toggle:hover {
  opacity: 1;
}
.quickview-wrapper .nav-tabs {
  /* Quickview Tabs */
  background-color: #2c2c31;
  position: relative;
  padding: 0 43px;
}
.quickview-wrapper .nav-tabs > li > a {
  padding: 11px;
  color: #7a7a83;
  opacity: 0.6;
  border: 0;
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  min-width: 62px;
}
.quickview-wrapper .nav-tabs > li > a:hover {
  color: #7a7a83;
  opacity: 1;
}
.quickview-wrapper .nav-tabs > li.active > a,
.quickview-wrapper .nav-tabs > li.active > a:hover,
.quickview-wrapper .nav-tabs > li.active > a:focus {
  background-color: transparent;
  border: 0;
  color: #ceced1;
  opacity: 1;
}
.quickview-wrapper .nav-tabs ~ .tab-content {
  position: absolute;
  padding: 0;
  left: 0;
  right: 0;
  top: 38px;
  bottom: 0;
  height: auto;
}
.quickview-wrapper .nav-tabs ~ .tab-content > div {
  height: 100%;
}
.quickview-wrapper .nav-tabs ~ .tab-content ul {
  margin: 0;
  padding: 0;
}
.quickview-wrapper .nav-tabs ~ .tab-content ul li {
  list-style: none;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes {
  /* Quickview Notes */
  background: #fbf9e3;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes a,
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes button {
  color: #968974;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list {
  position: relative;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar {
  height: 50px;
  padding: 0 25px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar ul {
  margin-top: 10px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar ul > li {
  display: inline-block;
  height: auto;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar ul > li a {
  height: 22px;
  line-height: 22px;
  display: block;
  padding: 0 5px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar ul > li a:hover,
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar ul > li a.selected {
  background: #968974;
  color: #FBF9E3;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list .toolbar .btn-remove-notes {
  background: transparent;
  bottom: 8px;
  display: block;
  left: 50%;
  margin-left: -40%;
  position: absolute;
  width: 83%;
  border: 1px solid #968974;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul {
  padding: 0;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li {
  cursor: pointer;
  height: 42px;
  padding: 0 25px;
  display: block;
  clear: both;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li .left {
  float: left;
  width: 65%;
  height: 100%;
  padding-top: 9px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li .left .checkbox {
  display: none;
  float: left;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li .left .checkbox label {
  margin-right: 0;
  vertical-align: text-top;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li .left p {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
  width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  display: inline-block;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li .right {
  font-size: 10.5px;
  text-align: right;
  width: 35%;
  line-height: 41px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li .right .date {
  margin-right: 10px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .list > ul li:hover {
  background: #f4ecd1;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note {
  /* Quickview Note */
  background-image: url('../img/notes_lines.png');
  background-repeat: repeat-y;
  background-position: 27px top;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note > div {
  display: table;
  height: 100%;
  width: 100%;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .toolbar {
  background: #fcfcfa;
  height: 55px;
  width: 100%;
  display: table-row;
  box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.33);
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .toolbar > li {
  display: inline-block;
  border-right: 1px solid #EDECEC;
  float: left;
  line-height: 55px;
  padding: 0;
  text-align: center;
  width: 55px;
  height: auto;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .toolbar > li > a {
  color: #a5a5a5;
  display: block;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .toolbar > li > a:hover {
  background: #fffaf6;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .toolbar > li > a.active {
  color: #333;
  background: #f9f1ea;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .toolbar:after {
  position: absolute;
  content: "";
  width: 100%;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body {
  display: table-row;
  height: 100%;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body > div {
  display: table;
  height: 100%;
  width: 100%;
  padding: 0 20px 0 45px;
  white-space: normal;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .top {
  height: 50px;
  display: table-row;
  clear: both;
  line-height: 50px;
  text-align: center;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .top > a {
  float: left;
  color: #b0b0a8;
  margin-left: 10px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .top > span {
  font-style: italic;
  color: #b0b0a8;
  font-size: 11px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .content {
  display: table-row;
  height: 100%;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .content form {
  height: 100%;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .content .quick-note-editor {
  font-size: 12px;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .content .quick-note-editor:focus {
  outline: none;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .content .quick-note-editor::-moz-selection {
  background: #fef8ae;
}
.quickview-wrapper .nav-tabs ~ .tab-content .quickview-notes .note .body .content .quick-note-editor::selection {
  background: #fef8ae;
}
/* Page Container
------------------------------------
*/
.page-container {
  width: 100%;
  height: 100%;
  padding-left: 70px;
}
.page-container .page-content-wrapper {
  min-height: 100%;
  position: relative;
}
.page-container .page-content-wrapper .content {
  /* Content holder */
  z-index: 10;
  padding-top: 60px;
  min-height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page-container .page-content-wrapper .content.full-width {
  width: 100%;
}
.page-container .page-content-wrapper .content .content-inner {
  display: inline-block;
  vertical-align: top;
  height: 100%;
  padding-left: 30px;
  position: relative;
}
.page-container .page-content-wrapper .content:only-child {
  padding-bottom: 0px;
}
.page-container .page-content-wrapper .content.overlay-footer {
  padding-bottom: 0px;
}
.page-container .page-content-wrapper .footer {
  /* Footer */
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: left 0.3s ease;
  transition: left 0.3s ease;
}
.page-container .page-content-wrapper .footer.fixed {
  position: fixed;
}
.page-title {
  margin-top: 0px;
}
/* Breadcrumbs
------------------------------------
*/
.breadcrumb {
  font-family: 'Montserrat';
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  box-shadow: none;
  background-color: transparent;
  padding: 15px 0;
  margin: 0;
  border: none;
  text-transform: uppercase;
  display: block;
}
.breadcrumb a,
.breadcrumb span {
  margin-right: 5px;
  margin-left: 5px;
  font-family: 'Montserrat';
  font-size: 11px !important;
  font-weight: 400;
  color: #7b7d82;
}
.breadcrumb a.active,
.breadcrumb span.active {
  font-weight: 600;
  color: #0090d9;
}
.breadcrumb li {
  padding-left: 0px;
}
.breadcrumb > li + li:before {
  padding: 0 5px;
  color: #515050;
  font-family: FontAwesome;
  content: "\f105";
  font-weight: bold;
}
.breadcrumb a,
.breadcrumb i,
.breadcrumb span,
.breadcrumb li {
  color: #7b7d82;
  font-weight: 300;
  text-shadow: none;
}
.breadcrumb a:hover span {
  color: #48b0f7;
  font-weight: 300;
  text-shadow: none;
}
/* Overlay Search
------------------------------------
*/
.overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 1210;
  padding-left: 64px;
  overflow: auto;
}
.overlay .inline-block {
  display: inline-block;
}
.overlay .overlay-brand {
  margin-left: 7px;
}
.overlay > div {
  width: 100%;
  height: 260px;
  display: block;
  overflow: hidden;
}
.overlay .has-results {
  overflow: visible;
}
.overlay .overlay-search {
  font-weight: 700;
  font-size: 77px;
  height: 100px;
  letter-spacing: -1.925px;
  line-height: 100px;
  width: 100%;
  padding-left: 0 !important;
}
.overlay .overlay-close {
  position: absolute;
  right: 20px;
  top: 25px;
}
.group-container {
  white-space: nowrap !important;
}
.group-container .single-group {
  vertical-align: top;
  display: inline-block;
  white-space: normal;
}
.jumbotron {
  position: relative;
  overflow: hidden;
  display: block;
  padding: 0;
  background-color: #f0f0f0;
}
.jumbotron .inner {
  position: relative;
  z-index: 2;
}
.jumbotron.lg {
  height: 600px;
}
.jumbotron .cover-photo {
  width: 100%;
  height: inherit;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  background-size: cover;
  background-color: #10cfbd;
}
.jumbotron .cover-photo img {
  display: none;
}
.jumbotron h1 {
  font-size: 44px;
}
/* Pages Image Icon Sent - Pixel Perfect
------------------------------------
*/
.icon-set {
  background: url('../img/icons/top_tray.png') no-repeat;
  position: relative;
  display: block;
}
.icon-set.globe-fill {
  background-position: -1px -1px;
  width: 17px;
  height: 17px;
  top: 2px;
}
.icon-set.clip {
  background-position: -20px -2px;
  width: 16px;
  height: 16px;
}
.icon-set.grid-box {
  background-position: -41px -2px;
  width: 14px;
  height: 14px;
}
.icon-set.menu-hambuger {
  background-position: -58px -3px;
  width: 15px;
  height: 13px;
}
.icon-set.menu-hambuger-plus {
  background-position: -77px -1px;
  width: 18px;
  height: 15px;
}
.dropzone {
  overflow: hidden;
}
.dropzone .dz-default.dz-message {
  width: 100%;
}
.scroll {
  position: relative;
  overflow: auto;
}
/* Pages Scroll bar
------------------------------------
*/
.scroll-wrapper > .scroll-element,
.scroll-wrapper > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}
.scroll-wrapper > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}
.scroll-wrapper > .scroll-element.scroll-x {
  bottom: 2px;
  height: 7px;
  left: 0;
  min-width: 100%;
  width: 100%;
}
.scroll-wrapper > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 2px;
  top: 0;
  width: 4px;
}
.scroll-wrapper > .scroll-element .scroll-element_outer {
  opacity: 0.3;
}
.scroll-wrapper > .scroll-element .scroll-element_size {
  background-color: rgba(0, 0, 0, 0.07);
  opacity: 0;
}
.scroll-wrapper > .scroll-element .scroll-bar {
  background-color: #697686;
}
.scroll-wrapper > .scroll-element.scroll-x .scroll-bar {
  bottom: 0;
  height: 4px;
  min-width: 24px;
  top: auto;
}
.scroll-wrapper > .scroll-element.scroll-x .scroll-element_outer {
  bottom: 0;
  top: auto;
  left: 2px;
  -webkit-transition: height 0.2s;
  transition: height 0.2s;
}
.scroll-wrapper > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}
.scroll-wrapper > .scroll-element.scroll-y .scroll-bar {
  left: auto;
  min-height: 24px;
  right: 0;
  width: 4px;
}
.scroll-wrapper > .scroll-element.scroll-y .scroll-element_outer {
  left: auto;
  right: 0;
  top: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.scroll-wrapper > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}
.scroll-wrapper.auto-hide > .scroll-element .scroll-element_track {
  display: none;
}
.scroll-wrapper > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px;
}
.scroll-wrapper > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px;
}
/* hover & drag */
.scroll-wrapper > .scroll-element:hover .scroll-element_outer,
.scroll-wrapper > .scroll-element.scroll-draggable .scroll-element_outer {
  overflow: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7;
}
.scroll-wrapper > .scroll-element:hover .scroll-element_outer .scroll-element_size,
.scroll-wrapper > .scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size {
  opacity: 1;
}
.scroll-wrapper > .scroll-element:hover .scroll-element_outer .scroll-bar,
.scroll-wrapper > .scroll-element.scroll-draggable .scroll-element_outer .scroll-bar {
  height: 100%;
  width: 100%;
}
.scroll-wrapper > .scroll-element.scroll-x:hover .scroll-element_outer,
.scroll-wrapper > .scroll-element.scroll-x.scroll-draggable .scroll-element_outer {
  height: 10px;
  min-height: 7px;
}
.scroll-wrapper > .scroll-element.scroll-y:hover .scroll-element_outer,
.scroll-wrapper > .scroll-element.scroll-y.scroll-draggable .scroll-element_outer {
  min-width: 7px;
  width: 7px;
}
/* Other overides */
.container-fluid {
  padding-left: 30px;
  padding-right: 30px;
}
.copyright {
  padding: 25px 0;
  border-top: 1px solid rgba(98, 98, 98, 0.07);
}
.navbar-center,
.navbar-center > li {
  float: none;
  display: inline-block;
  *display: inline;
  /* ie7 fix */
  *zoom: 1;
  /* hasLayout ie7 trigger */
  vertical-align: top;
}
.navbar-nav li a {
  min-width: 50px;
}
.pager {
  margin: 0;
}
/* Horizontal Menu */
@media (min-width: 992px) {
  .horizontal-menu [data-pages="sidebar"] + .page-container {
    padding-left: 70px;
  }
}
.horizontal-menu [data-pages="sidebar"] + .page-container .header .brand {
  padding-left: inherit;
  text-align: center;
}
.horizontal-menu #horizontal-menu-toggle {
  display: block !important;
}
.horizontal-menu .page-container {
  padding-left: 0;
}
.horizontal-menu .header .brand {
  padding-left: 35px;
  text-align: left;
}
.horizontal-menu .header-seperation {
  display: none;
}
.horizontal-menu .bar {
  width: 100%;
  background-color: #ffffff;
  position: fixed;
  display: table;
  z-index: 50;
}
.horizontal-menu .bar-inner {
  display: table-cell;
  width: 100%;
}
.horizontal-menu .bar-inner > ul {
  margin: 0;
  padding: 0;
  padding-left: 16px;
}
.horizontal-menu .bar-inner > ul > li {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  display: inline-block;
  padding: 10px 15px;
  vertical-align: middle;
}
.horizontal-menu .bar-inner > ul > li.classic {
  position: relative;
}
.horizontal-menu .bar-inner > ul > li.open > a {
  opacity: 1;
}
.horizontal-menu .bar-inner > ul > li.mega.open,
.horizontal-menu .bar-inner > ul > li.horizontal.open {
  position: inherit;
}
.horizontal-menu .bar-inner > ul > li > a {
  color: #000000;
}
.horizontal-menu .bar-inner > ul > li > a > .arrow {
  display: inline-block;
}
.horizontal-menu .bar-inner > ul > li > a > .arrow:before {
  display: inline;
  font-size: 16px;
  font-family: FontAwesome;
  height: auto;
  content: "\f107";
  font-weight: 300;
  text-shadow: none;
  margin-left: 8px;
  opacity: 0.5;
  position: relative;
  vertical-align: middle;
}
.horizontal-menu .bar-inner > ul > li a {
  opacity: 0.7;
}
.horizontal-menu .bar-inner > ul > li a .description {
  opacity: 0.7;
  transition: opacity 0.1s linear 0s;
}
.horizontal-menu .bar-inner > ul > li a:hover {
  opacity: 1;
}
.horizontal-menu .bar-inner > ul > li a:hover .description {
  opacity: 1;
}
.horizontal-menu .bar-inner > ul > li.open {
  background: #fff;
}
.horizontal-menu .bar-inner > ul > li.open > .classic {
  max-height: 999px;
}
.horizontal-menu .bar-inner > ul > li.open > .classic > li {
  opacity: 1;
}
.horizontal-menu .bar-inner > ul > li.open > .mega,
.horizontal-menu .bar-inner > ul > li.open > .horizontal {
  display: block;
}
.horizontal-menu .bar-inner > ul > li > .classic {
  margin: 0;
  padding: 0;
  position: absolute;
  background-color: #fff;
  list-style: none;
  left: 0;
  right: 0;
  top: 40px;
  min-width: 220px;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}
.horizontal-menu .bar-inner > ul > li > .classic > li {
  margin: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e9ec;
  color: #22262e;
  opacity: 0;
  -webkit-transition: all 0.1s linear 0.1s;
  transition: all 0.1s linear 0.1s;
}
.horizontal-menu .bar-inner > ul > li > .classic > li a {
  color: #000000;
}
.horizontal-menu .bar-inner > ul > li > .classic > li a .description {
  display: block;
  font-size: 12px;
  color: #2c2c2c;
}
.horizontal-menu .bar-inner > ul > li > .classic > li:last-child {
  border-bottom: 0;
}
.horizontal-menu .bar-inner > ul > li > .horizontal {
  margin: 0;
  top: 40px;
  padding: 0;
  position: absolute;
  background-color: #fff;
  list-style: none;
  display: none;
  left: 0;
  right: 0;
  width: 100%;
  border-bottom: 1px solid #e5e9ec;
}
.horizontal-menu .bar-inner > ul > li > .horizontal li {
  margin: 15px;
  color: #000000;
  display: inline-block;
}
.horizontal-menu .bar-inner > ul > li > .horizontal li a {
  color: #000000;
}
.horizontal-menu .bar-inner > ul > li > .horizontal li a .description {
  display: block;
  font-size: 12px;
  color: #2c2c2c;
}
.horizontal-menu .bar-inner > ul > li > .mega {
  margin: 0;
  top: 40px;
  padding: 0;
  position: absolute;
  background-color: #fff;
  list-style: none;
  display: none;
  left: 0;
  right: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e9ec;
}
.horizontal-menu .bar-inner > ul > li > .mega > li {
  margin: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e9ec;
  color: #000000;
}
.horizontal-menu .bar-inner > ul > li > .mega > li a {
  color: #000000;
}
.horizontal-menu .bar-inner > ul > li > .mega .sub-menu-heading {
  font-size: 14px;
  color: #000000;
  margin-bottom: 10px;
  margin-top: 20px;
}
.horizontal-menu .bar-inner > ul > li > .mega .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 10px;
}
.horizontal-menu .bar-inner > ul > li > .mega .sub-menu > li {
  padding-left: 0;
  padding-bottom: 5px;
}
.horizontal-menu .bar-inner > ul > li > .mega .sub-menu > li > a {
  color: #000000;
}
@media (min-width: 980px) {
  .horizontal-menu .page-content {
    margin-left: 0;
  }
  .horizontal-menu .page-content .content {
    padding-top: 123px;
  }
}
/*------------------------------------------------------------------
[2. View Ports]
*/
.view-port {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  white-space: nowrap;
  word-spacing: 0;
  font-size: 0;
  overflow: hidden;
}
.view-port > * {
  font-size: initial;
}
.view-port .navbar {
  border-radius: 0;
  padding-left: 0;
  margin-bottom: 0;
  border-left: 0;
  display: table;
  width: 100%;
  top: 0;
  border-top: 0;
}
.view-port .navbar .navbar-inner {
  display: table-cell;
  height: 50px;
  vertical-align: middle;
}
.view-port .navbar .action {
  position: absolute;
  top: 0;
  line-height: 50px;
  z-index: 1;
}
.view-port .navbar .action.pull-right {
  right: 0;
}
.view-port .navbar .view-heading {
  font-size: 15px;
  text-align: center;
}
.view-port .navbar > p {
  line-height: 12px;
  font-size: 12px;
  margin: 0;
}
.view-port .navbar.navbar-sm {
  min-height: 35px;
}
.view-port .navbar.navbar-sm .navbar-inner {
  height: 35px;
}
.view-port .navbar.navbar-sm .action {
  line-height: 35px;
}
.view-port .view {
  display: inline-block;
  width: 100%;
  height: 100%;
  vertical-align: top;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.view-port .view:first-child:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  z-index: -1;
}
.view-port .view:only-child {
  margin: 0;
}
.view-port.from-top > .view:last-child {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
}
.view-port.push > .view:first-child {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
}
.view-port.push > .view:last-child {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
}
.view-port.push-parrallax > .view:first-child {
  -webkit-transition: all 400ms cubic-bezier(0.1, 0.7, 0.1, 1);
  transition: all 400ms cubic-bezier(0.1, 0.7, 0.1, 1);
  -webkit-transform: translate3d(-25%, 0, 0);
  transform: translate3d(-25%, 0, 0);
  -ms-transform: translate(-25%, 0);
}
.view-port.push-parrallax > .view:first-child:before {
  opacity: 0;
  z-index: 100;
}
.view-port.push-parrallax > .view:last-child {
  -webkit-transition: all 400ms cubic-bezier(0.1, 0.7, 0.1, 1);
  transition: all 400ms cubic-bezier(0.1, 0.7, 0.1, 1);
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  box-shadow: 0 0 9px rgba(191, 191, 191, 0.36);
}
/*------------------------------------------------------------------
[3. Chat]
*/
/* Chat Components
--------------------------------------------------
*/
.chat-view .chat-inner {
  padding: 15px;
  overflow-x: hidden;
  height: calc(100% - 103px);
}
.chat-view .message {
  margin-bottom: 10px;
  line-height: 30px;
}
.chat-view .profile-img-wrapper {
  height: 28px;
  width: 28px;
}
.chat-view .chat-bubble {
  position: relative;
  border-radius: 12px;
  padding: 4px 12px;
  font-size: 14px;
  line-height: 16px;
  margin: 5px 0px 0 5px;
  max-width: 60%;
  white-space: normal;
}
.chat-view .chat-bubble > p {
  margin: 0;
}
.chat-view .chat-bubble.from-me {
  background: #daeffd;
  color: #2c2c2c;
  opacity: 0.8;
  float: right;
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.chat-view .chat-bubble.from-them {
  color: #2c2c2c;
  background: #f0f0f0;
  position: relative;
  opacity: 0.8;
  float: left;
  border: 1px solid #f0f5f8;
}
.chat-view .chat-input {
  border: 0;
  height: 45px;
}
.chat-view .chat-input:focus,
.chat-view .chat-input:active {
  background-color: #fff;
}
.chat-view .user-controls {
  padding-top: 12px;
}
/* Chat User List
--------------------------------------------------
*/
.chat-user-list > a {
  height: 60px;
}
/* Alert List
--------------------------------------------------
*/
.alert-list > a {
  height: 45px;
}
/*------------------------------------------------------------------
[4. Panels]
*/
.panel {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 1px;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  position: relative;
}
.panel .panel-heading {
  background: transparent;
  border-radius: 0px;
  border-bottom: 0px;
  padding: 20px 20px 7px 20px;
  position: relative;
  z-index: 3;
  min-height: 48px;
}
.panel .panel-heading.separator:after {
  content: "";
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
  left: 16px;
  right: 16px;
  position: absolute;
  bottom: 0;
}
.panel .panel-heading + .panel-body {
  padding-top: 0;
  height: calc(100% - 50px);
}
.panel .panel-heading .panel-title {
  font-family: 'Montserrat';
  text-transform: uppercase;
  display: inline-block;
  letter-spacing: 0.02em;
  font-size: 12px;
  font-weight: 600;
  margin: 0;
  padding: 0;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-stroke: 0px;
  filter: alpha(opacity=40);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.panel .panel-heading .panel-controls {
  float: right;
  margin-top: -3px;
}
.panel .panel-heading .panel-controls ul {
  margin: 0;
  padding: 0;
}
.panel .panel-heading .panel-controls ul li {
  display: inline-block;
  list-style: none;
  line-height: 0;
}
.panel .panel-heading .panel-controls:after {
  content: "";
  display: table;
  clear: both;
}
.panel .panel-heading.panel-heading-hover .panel-title {
  opacity: .4;
}
.panel .panel-heading.panel-heading-hover:hover .panel-title {
  opacity: 1;
}
.panel.panel-default {
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.panel.panel-bordered {
  border: 1px solid rgba(230, 230, 230, 0.7);
}
.panel.panel-condensed .panel-heading {
  padding: 13px 13px 0 13px;
  min-height: 30px;
}
.panel.panel-condensed .panel-heading .panel-title {
  opacity: .4;
}
.panel.panel-condensed .panel-body {
  padding: 13px;
}
.panel.panel-hover .panel-heading .panel-title {
  opacity: .4;
}
.panel.panel-hover:hover .panel-heading .panel-title {
  opacity: 1;
}
.panel.panel-transparent {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel.panel-transparent .panel-body {
  background: transparent;
}
.panel.full-height {
  height: calc(100%);
}
.panel.full-height .panel-body {
  height: auto;
  width: 100%;
  height: 100%;
}
.panel.panel-featured {
  -webkit-box-shadow: -1px 1px 3px 0px rgba(121, 129, 135, 0.14);
  box-shadow: -1px 1px 3px 0px rgba(121, 129, 135, 0.14);
  width: calc(100% - 50px);
  float: right;
}
.panel.panel-featured .panel-title h4 {
  font-family: 'Montserrat';
  font-size: 16px;
  text-transform: uppercase;
  color: #f0f0f0;
}
.panel.panel-featured .panel-body h3 {
  line-height: 34px;
  font-size: 26px;
}
.panel.panel-featured .footer .username {
  line-height: 8px;
  padding-top: 10px;
  font-size: 16px;
}
.panel.panel-featured .footer .buttons li {
  display: inline;
  list-style: none;
  font-weight: bold;
  margin-left: 20px;
}
.panel.panel-featured .footer .buttons li:first-child {
  margin-left: 0;
}
.panel.panel-featured .footer .buttons .heart {
  color: #f55753;
}
.panel.panel-featured .footer .buttons .comment {
  color: #626262;
}
.panel.panel-featured .ribbon {
  width: 38px;
  height: 38px;
  margin-left: -39px;
  float: left;
  -webkit-box-shadow: inset -3px 0px 3px 0px rgba(0, 0, 0, 0.14);
  box-shadow: inset -3px 0px 3px 0px rgba(0, 0, 0, 0.14);
}
.panel.panel-featured .ribbon.green {
  background: #48b0f7;
}
.panel.panel-featured .ribbon.blue {
  background: #10cfbd;
}
.panel.hover-fill:hover {
  background: #f0f0f0;
}
.panel.hover-stroke:hover {
  border: 1px solid #e6e6e6;
}
.panel .panel-body {
  padding: 20px;
  height: 100%;
  width: 100%;
}
.panel .panel-body.no-padding .row {
  margin-left: 0;
  margin-right: 0;
}
.panel .panel-body.no-bottom-padding {
  padding-bottom: 0;
}
.panel .panel-body.no-top-padding {
  padding-top: 0;
}
.panel .panel-body .title {
  margin-top: 0px;
}
.panel .panel-body.scrollable {
  margin-bottom: 20px;
}
/* Portlets
------------------------------------
*/
.portlet-progress {
  background: rgba(255, 255, 255, 0.8);
  bottom: 0;
  left: 0;
  position: absolute !important;
  right: 0;
  top: 0;
  display: none;
  z-index: 2;
}
.portlet-progress > .progress,
.portlet-progress > .progress.progress-small {
  height: 3px;
}
.portlet-progress > .progress-circle-indeterminate,
.portlet-progress > .portlet-bar-indeterminate {
  display: block;
  left: 50%;
  margin-left: -17px;
  margin-top: -17px;
  position: absolute;
  top: 50%;
}
.portlet-progress > .progress-circle-indeterminate {
  width: 35px;
  height: 35px;
}
.panel-maximized {
  position: fixed !important;
  left: 70px;
  top: 59px;
  bottom: 0;
  right: 0;
  z-index: 600;
  margin: 0;
}
/* Pages notification holder */
.panel .pgn-wrapper {
  position: absolute;
  z-index: 602;
}
.panel-heading a:not(.btn) {
  color: #626262 !important;
  opacity: .4;
  padding-top: 10px;
  padding-bottom: 10px;
}
.panel-heading a:not(.btn).portlet-refresh {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.panel-heading a:not(.btn).portlet-refresh.refreshing {
  opacity: 1;
}
.panel-heading .dropdown ul li a,
.panel-heading .dropdown-menu li a {
  padding: 0 20px;
}
.panel-heading a[data-toggle]:hover {
  opacity: 1;
}
.portlet-icon {
  -moz-osx-font-smoothing: grayscale;
  font-family: "pages-icon";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-transform: none;
}
.portlet-icon-close:before {
  content: "\e60a";
}
.portlet-icon-maximize:before {
  content: "\e634";
}
.portlet-icon-refresh:before {
  content: "\e600";
}
.portlet-icon-collapse:before {
  content: "\e62c";
}
.portlet-icon-settings:before {
  content: "\e655";
}
.portlet-icon-refresh-lg-master,
.portlet-icon-refresh-lg-white {
  width: 15px;
  height: 15px;
  display: block;
  background-size: cover;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.portlet-icon-refresh-lg-master.fade,
.portlet-icon-refresh-lg-white.fade {
  opacity: 0.1;
}
.portlet-icon-refresh-lg-master {
  background-image: url('../img/progress/progress-circle-lg-master-static.svg');
}
.portlet-icon-refresh-lg-white {
  background-image: url('../img/progress/progress-circle-lg-white-static.svg');
}
.portlet-icon-refresh-lg-master-animated,
.portlet-icon-refresh-lg-white-animated {
  width: 15px;
  height: 15px;
  display: block;
  background-size: cover;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.portlet-icon-refresh-lg-master-animated.active,
.portlet-icon-refresh-lg-white-animated.active {
  opacity: 1;
}
.portlet-icon-refresh-lg-master-animated {
  background-image: url('../img/progress/progress-circle-lg-master.svg');
}
.portlet-icon-refresh-lg-white-animated {
  background-image: url('../img/progress/progress-circle-lg-white.svg');
}
/* For demo purpose only */
.panel-scroll {
  height: 100px;
}
.sortable .panel-heading {
  cursor: move;
}
/* To prevent lag while dragging */
.ui-sortable-handle {
  transition: max-height 0.3s ease 0s;
}
.sortable .grid .grid-title {
  cursor: move;
}
.ui-sortable {
  min-height: 0px !important;
}
.ui-sortable-placeholder {
  border: 1px dotted black;
  visibility: visible !important;
  height: 100% !important;
}
.ui-sortable-placeholder * {
  visibility: hidden;
}
.sortable-box-placeholder {
  background-color: #f0f0f0;
  border: 1px dashed #e6e6e6;
  display: block;
  margin-top: 0px !important;
  margin-bottom: 24px !important;
}
.sortable-box-placeholder * {
  visibility: hidden;
}
.sortable .panel {
  transition: none;
}
.sortable-column {
  padding-bottom: 100px;
}
.demo-portlet-scrollable {
  height: 158px;
}
/*------------------------------------------------------------------
[5. Typography]
*/
/* Standard elements
--------------------------------------------------
*/
html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  color: #626262;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" 1;
  -moz-font-feature-settings: "kern" 1;
}
/* Headings
------------------------------------
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 10px 0;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-weight: 300;
  color: #2c2c2c;
}
h1 {
  font-size: 44px;
  line-height: 55px;
  letter-spacing: -0.08px;
}
h2 {
  font-size: 31px;
  line-height: 40px;
}
h3 {
  font-size: 27px;
  line-height: 35px;
}
h4 {
  font-size: 22px;
  line-height: 31.88px;
}
h5 {
  font-size: 18px;
  line-height: 25.88px;
}
h3 small,
h4 small,
h5 small {
  font-weight: 300;
}
h1.block,
h2.block,
h3.block,
h4.block,
h5.block,
h6.block {
  padding-bottom: 10px;
}
/* Lins and Others
------------------------------------
*/
a {
  text-shadow: none !important;
  color: #3a8fc8;
  transition: color 0.1s linear 0s, background-color 0.1s linear 0s, opacity 0.2s linear 0s !important;
}
a:focus,
a:hover,
a:active {
  color: #48b0f7;
}
a,
a:focus,
a:hover,
a:active {
  outline: 0 !important;
  text-decoration: none;
}
a[ng-click] {
  cursor: pointer;
}
br {
  line-height: normal;
  clear: both;
}
code {
  color: #c64643;
  background-color: #f0f0f0;
}
code:hover {
  background-color: #fddddd;
}
p {
  display: block;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.01em;
  line-height: 22px;
  margin: 0px 0px 10px 0px;
  font-style: normal;
  white-space: normal;
}
small,
.small {
  line-height: 18px;
}
label.inline {
  display: inline-block;
  position: relative;
  top: 0px;
  font-size: 13px;
}
ul > li,
ol > li {
  padding-left: 3px;
  line-height: 24px;
}
ul.lg-icon > li,
ol.lg-icon > li {
  font-size: 21px;
}
ul.lg-icon > li span,
ol.lg-icon > li span {
  font-size: 14px;
}
ul.no-style,
ol.no-style {
  list-style: none;
  padding-left: 5px;
}
address {
  margin-bottom: 0px;
}
address a {
  color: #626262;
}
blockquote {
  padding: 0 0 0 18px;
  border-left: 0;
}
blockquote:before {
  content: '';
  font-family: FontAwesome;
  content: "\f10d";
  margin-right: 13px;
  float: left;
}
blockquote p {
  font-size: 16px;
}
blockquote small {
  line-height: 29px;
  color: #8b91a0;
  padding-left: 30px;
}
blockquote small:before {
  content: "";
}
blockquote.pull-right {
  border-right: 0;
}
blockquote.pull-right:before {
  float: right;
  content: '';
  font-family: FontAwesome;
  content: "\f10d";
  margin-left: 13px;
  margin-right: 0;
}
blockquote.pull-right small {
  padding-right: 30px;
}
blockquote.pull-right small:after {
  content: "";
}
hr {
  border-color: #e6e6e6;
}
hr.double {
  border-width: 2px;
}
hr.dotted {
  border-style: dotted none none;
}
/* Font Sizes
------------------------------------
*/
.small-text {
  font-size: 12px !important;
}
.normal-text {
  font-size: 13px !important;
}
.large-text {
  font-size: 15px !important;
}
/* Font Weights
------------------------------------
 */
.normal {
  font-weight: normal;
}
.semi-bold {
  font-weight: 400 !important;
}
.bold {
  font-weight: bold !important;
}
.light {
  font-weight: 300 !important;
}
/* Misc
------------------------------------
*/
.logo {
  margin: 18px 14px;
}
.all-caps {
  text-transform: uppercase;
}
.muted {
  color: #e2e2e2;
}
.hint-text {
  opacity: .7;
}
.no-decoration {
  text-decoration: none !important;
}
/* Monochrome Colors
------------------------------------
 */
.bg-master {
  background-color: #626262;
}
.bg-master-light {
  background-color: #e6e6e6;
}
.bg-master-lighter {
  background-color: #f0f0f0;
}
.bg-master-lightest {
  background-color: #fafafa;
}
.bg-master-dark {
  background-color: #2c2c2c;
}
.bg-master-darker {
  background-color: #1a1a1a;
}
.bg-master-darkest {
  background-color: #121212;
}
/* Contextual Colors
------------------------------------
*/
/* Primary
------------------------------------
*/
.bg-primary {
  background-color: #6d5cae;
}
.bg-primary-dark {
  background-color: #584b8d;
}
.bg-primary-darker {
  background-color: #413768;
}
.bg-primary-light {
  background-color: #8a7dbe;
}
.bg-primary-lighter {
  background-color: #e2deef;
}
/* Complete
------------------------------------
*/
.bg-complete {
  background-color: #48b0f7;
}
.bg-complete-dark {
  background-color: #3a8fc8;
}
.bg-complete-darker {
  background-color: #2b6a94;
}
.bg-complete-light {
  background-color: #6dc0f9;
}
.bg-complete-lighter {
  background-color: #daeffd;
}
/* Success
------------------------------------
*/
.bg-success {
  background-color: #10cfbd;
}
.bg-success-dark {
  background-color: #0da899;
}
.bg-success-darker {
  background-color: #0a7c71;
}
.bg-success-light {
  background-color: #40d9ca;
}
.bg-success-lighter {
  background-color: #cff5f2;
}
/* Info
------------------------------------
*/
.bg-info {
  background-color: #3b4752;
}
.bg-info-dark {
  background-color: #303a42;
}
.bg-info-darker {
  background-color: #232b31;
}
.bg-info-light {
  background-color: #626c75;
}
.bg-info-lighter {
  background-color: #d8dadc;
}
/* Danger
------------------------------------
*/
.bg-danger {
  background-color: #f55753;
}
.bg-danger-dark {
  background-color: #c64643;
}
.bg-danger-darker {
  background-color: #933432;
}
.bg-danger-light {
  background-color: #f77975;
}
.bg-danger-lighter {
  background-color: #fddddd;
}
/* Warning
------------------------------------
 */
.bg-warning {
  background-color: #f8d053;
}
.bg-warning-dark {
  background-color: #c9a843;
}
.bg-warning-darker {
  background-color: #957d32;
}
.bg-warning-light {
  background-color: #f9d975;
}
.bg-warning-lighter {
  background-color: #fef6dd;
}
/* More Color Options
------------------------------------
*/
/* Menu
------------------------------------
*/
.bg-menu-dark {
  background-color: #222226;
}
.bg-menu {
  background-color: #2c2c31;
}
.bg-menu-light {
  background-color: #7a7a83;
}
/* Gradients
------------------------------------
*/
.gradient-grey {
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 75%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 75%);
}
.gradient-black {
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 75%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 75%);
}
/* Other Colors
------------------------------------
*/
.bg-white {
  background-color: #fff;
}
.bg-transparent {
  background-color: transparent !important;
}
/* Text Colors */
.link {
  opacity: .7;
}
.link:hover {
  opacity: 1;
}
.text-master {
  color: #626262 !important;
}
.text-master-light {
  color: #e6e6e6 !important;
}
.text-black {
  color: #2c2c2c !important;
}
.text-white {
  color: #fff !important;
}
.text-complete {
  color: #48b0f7 !important;
}
.text-success {
  color: #10cfbd !important;
}
.text-info {
  color: #3b4752 !important;
}
.text-warning {
  color: #f8d053 !important;
}
.text-warning-dark {
  color: #c9a843 !important;
}
.text-danger {
  color: #f55753 !important;
}
.text-primary {
  color: #6d5cae !important;
}
/* Text Aligngments
------------------------------------
*/
.text-right {
  text-align: right !important;
}
.text-left {
  text-align: left !important;
}
.text-center {
  text-align: center !important;
}
/* Text Styles
------------------------------------
*/
.text-italic {
  font-style: italic;
}
/* Labels
------------------------------------
*/
.label {
  padding: 3px 9px;
  font-size: 11px;
  text-shadow: none;
  background-color: #e6e6e6;
  font-weight: 600;
  color: #626262;
}
.label-success {
  background-color: #10cfbd;
  color: #fff;
}
.label-warning {
  background-color: #f8d053;
  color: #fff;
}
.label-important,
.label-danger {
  background-color: #f55753;
  color: #fff;
}
.label-info {
  background-color: #48b0f7;
  color: #fff;
}
.label-inverse {
  background-color: #3a8fc8;
  color: #fff;
}
.label-white {
  background-color: #fff;
  color: #626262;
}
/* Font Sizes
------------------------------------
*/
.fs-10 {
  font-size: 10px !important;
}
.fs-11 {
  font-size: 11px !important;
}
.fs-12 {
  font-size: 12px !important;
}
.fs-13 {
  font-size: 13px !important;
}
.fs-14 {
  font-size: 14px !important;
}
.fs-15 {
  font-size: 15px !important;
}
.fs-16 {
  font-size: 16px !important;
}
/* Line-heights
------------------------------------
*/
.lh-normal {
  line-height: normal;
}
.lh-10 {
  line-height: 10px;
}
.lh-11 {
  line-height: 11px;
}
.lh-12 {
  line-height: 12px;
}
.lh-13 {
  line-height: 13px;
}
.lh-14 {
  line-height: 14px;
}
.lh-15 {
  line-height: 15px;
}
.lh-16 {
  line-height: 16px;
}
/* Font Faces
------------------------------------
*/
.font-arial {
  font-family: Arial, sans-serif !important;
}
.font-montserrat {
  font-family: 'Montserrat' !important;
}
.font-georgia {
  font-family: Georgia !important;
}
.font-heading {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/* Wells
------------------------------------
*/
.well {
  background-color: #e6e6e6;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important;
  border: none;
  background-image: none;
}
.well.well-large {
  padding: 24px;
  width: auto;
}
.well.well-small {
  padding: 13px;
  width: auto;
}
.well.green {
  background-color: #48b0f7;
  color: #ffffff;
  border: none;
}
.overflow-ellipsis {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.jumbotron p {
  font-size: 14px;
  font-weight: normal;
  margin-bottom: inherit;
}
.jumbotron p.small {
  font-size: 85%;
}
/* Responsive Handlers : Typo
------------------------------------
*/
@media (max-width: 1400px) {
  body,
  p {
    font-size: 13px;
    line-height: 20px;
  }
  h1 {
    font-size: 33px;
    line-height: 44px;
    letter-spacing: -0.08px;
  }
  h2 {
    font-size: 28px;
    line-height: 40px;
  }
  h3 {
    font-size: 24px;
    line-height: 35.88px;
  }
  h4 {
    font-size: 18px;
    line-height: 33.88px;
  }
  h5 {
    font-size: 16px;
    line-height: 25.88px;
  }
  small,
  .small {
    font-size: 89%;
    line-height: 17px;
  }
}
/* For Windows : Fixes
------------------------------------
*/
.windows body,
.windows p {
  font-size: 13px;
  letter-spacing: normal;
}
.windows h1 {
  font-size: 33px;
  line-height: 49px;
}
.windows h2 {
  font-size: 29px;
  line-height: 40px;
}
.windows h3 {
  font-size: 29px;
  line-height: 33px;
}
.windows h4 {
  font-size: 23px;
  line-height: 32px;
}
.windows h5 {
  font-size: 19px;
  line-height: 28px;
  font-weight: normal;
}
.windows h1,
.windows h2,
.windows h3,
.windows h4,
.windows h5 {
  font-weight: 300;
  letter-spacing: normal;
}
.windows .jumbotron p {
  font-size: 13px;
}
.windows .jumbotron p.small {
  font-size: 88%;
}
.windows small,
.windows .small {
  font-size: 89%;
}
.font-xsmall-1 {
  font-size: 0.4rem !important;
}
.font-xsmall-2 {
  font-size: 0.5rem !important;
}
.font-xsmall-3 {
  font-size: 0.6rem !important;
}
.font-small-1 {
  font-size: 0.7rem !important;
}
.font-small-2 {
  font-size: 0.8rem !important;
}
.font-small-3 {
  font-size: 0.9rem !important;
}
.font-medium-1 {
  font-size: 1.1rem !important;
}
.font-medium-2 {
  font-size: 1.2rem !important;
}
.font-medium-3 {
  font-size: 1.3rem !important;
}
.font-medium-4 {
  font-size: 1.4rem !important;
}
.font-medium-5 {
  font-size: 1.5rem !important;
}
.font-large-1 {
  font-size: 2rem !important;
}
.font-large-2 {
  font-size: 3rem !important;
}
.font-large-3 {
  font-size: 4rem !important;
}
.font-large-4 {
  font-size: 5rem !important;
}
.font-large-5 {
  font-size: 6rem !important;
}
/*------------------------------------------------------------------
[6. Buttons]
*/
/*
[Buttons Base Styles]
*/
.btn {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" 1;
  -moz-font-feature-settings: "kern" 1;
  margin-bottom: 0;
  border: 1px solid #f0f0f0;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  background-image: none !important;
  color: #626262;
  background-color: #ffffff;
  text-shadow: none;
  box-shadow: none;
  line-height: 21px;
  padding-left: 17px;
  padding-right: 17px;
  position: relative;
  transition: color 0.1s linear 0s, background-color 0.1s linear 0s, opacity 0.2s linear 0s !important;
}
.btn:hover {
  background-color: #fafafa;
  border: 1px solid rgba(98, 98, 98, 0.27);
}
.btn.active {
  border-color: #e6e6e6;
  background: #fff;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus {
  outline: none !important;
  outline-style: none;
}
.btn .caret {
  margin-left: 3px;
}
.btn .caret.single {
  margin-left: 0px;
}
.btn:hover,
.btn:focus,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
  box-shadow: none;
}
button:focus {
  outline: none !important;
}
/*
Alternate buttons
--------------------------------------------------
*/
.btn-primary,
.btn-primary:focus {
  color: #ffffff;
  background-color: #6d5cae;
  border-color: #6d5cae;
}
.btn-primary.active,
.btn-primary:active,
.btn-primary.active:focus,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open .dropdown-toggle.btn-primary {
  background-color: #584b8d;
  border-color: #584b8d;
  color: #ffffff;
}
.btn-primary.hover,
.btn-primary:hover,
.open .dropdown-toggle.btn-primary {
  background-color: #8a7dbe;
  border-color: #8a7dbe;
  color: #ffffff;
}
.btn-primary.active:hover {
  background: #5e4f96;
  border-color: #5e4f96;
}
.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: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: #6d5cae;
  border-color: #6d5cae;
}
.btn-primary .badge {
  color: #6d5cae;
  background-color: #ffffff;
}
.btn-success,
.btn-success:focus {
  color: #ffffff;
  background-color: #10cfbd;
  border-color: #10cfbd;
}
.btn-success.active,
.btn-success:active,
.btn-success.active:focus,
.btn-success:active:focus,
.btn-success:active:hover,
.open .dropdown-toggle.btn-success {
  background-color: #0da899;
  border-color: #0da899;
  color: #ffffff;
}
.btn-success.hover,
.btn-success:hover,
.open .dropdown-toggle.btn-success {
  background-color: #40d9ca;
  border-color: #40d9ca;
  color: #ffffff;
}
.btn-success.active:hover {
  background: #0eb2a3;
  border-color: #0eb2a3;
}
.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: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: #10cfbd;
  border-color: #10cfbd;
}
.btn-success .badge {
  color: #10cfbd;
  background-color: #ffffff;
}
.btn-complete,
.btn-complete:focus {
  color: #ffffff;
  background-color: #48b0f7;
  border-color: #48b0f7;
}
.btn-complete.active,
.btn-complete:active,
.btn-complete.active:focus,
.btn-complete:active:focus,
.btn-complete:active:hover,
.open .dropdown-toggle.btn-complete {
  background-color: #3a8fc8;
  border-color: #3a8fc8;
  color: #ffffff;
}
.btn-complete.hover,
.btn-complete:hover,
.open .dropdown-toggle.btn-complete {
  background-color: #6dc0f9;
  border-color: #6dc0f9;
  color: #ffffff;
}
.btn-complete.active:hover {
  background: #3e97d4;
  border-color: #3e97d4;
}
.btn-complete.disabled,
.btn-complete[disabled],
fieldset[disabled] .btn-complete,
.btn-complete.disabled:hover,
.btn-complete[disabled]:hover,
fieldset[disabled] .btn-complete:hover,
.btn-complete.disabled:focus,
.btn-complete[disabled]:focus,
fieldset[disabled] .btn-complete:focus,
.btn-complete.disabled:active,
.btn-complete[disabled]:active,
fieldset[disabled] .btn-complete:active,
.btn-complete.disabled.active,
.btn-complete[disabled].active,
fieldset[disabled] .btn-complete.active {
  background-color: #48b0f7;
  border-color: #48b0f7;
}
.btn-complete .badge {
  color: #48b0f7;
  background-color: #ffffff;
}
.btn-info,
.btn-info:focus {
  color: #ffffff;
  background-color: #3b4752;
  border-color: #3b4752;
}
.btn-info.active,
.btn-info:active,
.btn-info.active:focus,
.btn-info:active:focus,
.btn-info:active:hover,
.open .dropdown-toggle.btn-info {
  background-color: #303a42;
  border-color: #303a42;
  color: #ffffff;
}
.btn-info.hover,
.btn-info:hover,
.open .dropdown-toggle.btn-info {
  background-color: #626c75;
  border-color: #626c75;
  color: #ffffff;
}
.btn-info.active:hover {
  background: #333d47;
  border-color: #333d47;
}
.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: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: #3b4752;
  border-color: #3b4752;
}
.btn-info .badge {
  color: #3b4752;
  background-color: #ffffff;
}
.btn-warning,
.btn-warning:focus {
  color: #ffffff;
  background-color: #f8d053;
  border-color: #f8d053;
}
.btn-warning.active,
.btn-warning:active,
.btn-warning.active:focus,
.btn-warning:active:focus,
.btn-warning:active:hover,
.open .dropdown-toggle.btn-warning {
  background-color: #c9a843;
  border-color: #c9a843;
  color: #ffffff;
}
.btn-warning.hover,
.btn-warning:hover,
.open .dropdown-toggle.btn-warning {
  background-color: #f9d975;
  border-color: #f9d975;
  color: #ffffff;
}
.btn-warning.active:hover {
  background: #d5b347;
  border-color: #d5b347;
}
.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: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: #f8d053;
  border-color: #f8d053;
}
.btn-warning .badge {
  color: #f8d053;
  background-color: #ffffff;
}
.btn-danger,
.btn-danger:focus {
  color: #ffffff;
  background-color: #f55753;
  border-color: #f55753;
}
.btn-danger.active,
.btn-danger:active,
.btn-danger.active:focus,
.btn-danger:active:focus,
.btn-danger:active:hover,
.open .dropdown-toggle.btn-danger {
  background-color: #c64643;
  border-color: #c64643;
  color: #ffffff;
}
.btn-danger.hover,
.btn-danger:hover,
.open .dropdown-toggle.btn-danger {
  background-color: #f77975;
  border-color: #f77975;
  color: #ffffff;
}
.btn-danger.active:hover {
  background: #d34b47;
  border-color: #d34b47;
}
.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: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: #f55753;
  border-color: #f55753;
}
.btn-danger .badge {
  color: #f55753;
  background-color: #ffffff;
}
.btn-default,
.btn-default:focus {
  color: #5e5e5e;
  background-color: #ffffff;
  border-color: #f0f0f0;
}
.btn-default.active,
.btn-default:active,
.btn-default.active:focus,
.btn-default:active:focus,
.btn-default:active:hover {
  background-color: #f0f0f0;
  border-color: #e6e6e6;
  color: #2c2c2c;
}
.btn-default.hover,
.btn-default:hover {
  background-color: #fafafa;
  border-color: rgba(98, 98, 98, 0.27);
  color: #1a1a1a;
}
.btn-default.active:hover {
  background: #f0f0f0;
}
.btn-link {
  color: #5e5e5e;
  background-color: transparent;
  border: none;
}
.btn-link:hover,
.btn-link:focus,
.btn-link:active,
.btn-link.active,
.btn-link.disabled,
.btn-link[disabled] {
  background-color: transparent;
  border: none;
  text-decoration: none;
  outline: none;
}
.btn-file {
  position: relative;
  overflow: hidden;
}
.btn-file input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  font-size: 100px;
  text-align: right;
  filter: alpha(opacity=0);
  opacity: 0;
  background: red;
  cursor: inherit;
  display: block;
}
/*
Button Sizes
--------------------------------------------------
*/
.btn-lg,
.btn-group-lg > .btn {
  padding-left: 28px;
  padding-right: 28px;
  line-height: 23px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding-left: 16px;
  padding-right: 16px;
  font-size: 11.9px;
  line-height: 20px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 2px 9px;
  font-size: 10.5px;
}
.btn-cons {
  margin-right: 5px;
  min-width: 120px;
}
/*
Rounded buttons
--------------------------------------------------
*/
.btn-rounded {
  border-radius: 100px;
}
/*
 Dropdown menus
--------------------------------------------------
*/
.btn-group.open .dropdown-toggle,
.open .dropdown-toggle,
.open.dropdown-default .dropdown-toggle {
  box-shadow: none;
}
/* Pages default dropdown */
.dropdown-default {
  display: inline-block;
}
.dropdown-default.open > .btn.dropdown-toggle {
  border-color: transparent !important;
  background: transparent !important;
  z-index: 791 !important;
}
.dropdown-default.open .dropdown-menu {
  opacity: 1;
  transform: scale(1, 1);
  z-index: 1030;
}
.dropdown-default.open .dropdown-menu li {
  visibility: visible;
}
.dropdown-default.open.dropup > .btn-primary + .dropdown-menu:after,
.dropdown-default.open.dropup > .btn-success + .dropdown-menu:after,
.dropdown-default.open.dropup > .btn-complete + .dropdown-menu:after,
.dropdown-default.open.dropup > .btn-warning + .dropdown-menu:after,
.dropdown-default.open.dropup > .btn-danger + .dropdown-menu:after,
.dropdown-default.open.dropup > .btn-info + .dropdown-menu:after {
  top: auto;
  bottom: 0;
}
.dropdown-default.open > .btn-primary + .dropdown-menu:after,
.dropdown-default.open > .btn-success + .dropdown-menu:after,
.dropdown-default.open > .btn-complete + .dropdown-menu:after,
.dropdown-default.open > .btn-warning + .dropdown-menu:after,
.dropdown-default.open > .btn-danger + .dropdown-menu:after,
.dropdown-default.open > .btn-info + .dropdown-menu:after {
  top: 0;
  height: 42px;
}
.dropdown-default.open > .btn-primary + .dropdown-menu:after {
  background-color: #6d5cae;
}
.dropdown-default.open > .btn-success + .dropdown-menu:after {
  background-color: #10cfbd;
}
.dropdown-default.open > .btn-complete + .dropdown-menu:after {
  background-color: #48b0f7;
}
.dropdown-default.open > .btn-warning + .dropdown-menu:after {
  background-color: #f8d053;
}
.dropdown-default.open > .btn-danger + .dropdown-menu:after {
  background-color: #f55753;
}
.dropdown-default.open > .btn-info + .dropdown-menu:after {
  background-color: #3b4752;
}
.dropdown-default.dropup .btn.dropdown-toggle.btn-lg + .dropdown-menu {
  margin-bottom: -47px;
  padding-bottom: 49px;
}
.dropdown-default.dropup .btn.dropdown-toggle.btn-lg + .dropdown-menu:after {
  bottom: 49px;
}
.dropdown-default.dropup .btn.dropdown-toggle.btn-sm + .dropdown-menu {
  margin-bottom: -34px;
  padding-bottom: 36px;
}
.dropdown-default.dropup .btn.dropdown-toggle.btn-sm + .dropdown-menu:after {
  bottom: 36px;
}
.dropdown-default.dropup .btn.dropdown-toggle.btn-xs + .dropdown-menu {
  margin-bottom: -29px;
  padding-bottom: 31px;
}
.dropdown-default.dropup .btn.dropdown-toggle.btn-xs + .dropdown-menu:after {
  bottom: 31px;
}
.dropdown-default.dropup .dropdown-menu {
  margin-bottom: -40px;
  padding: 0 3px 44px 0 !important;
  transform-origin: center bottom 0;
}
.dropdown-default.dropup .dropdown-menu:after {
  bottom: 43px;
  top: auto !important;
}
.dropdown-default .btn.dropdown-toggle {
  text-align: left;
  padding-right: 27px;
}
.dropdown-default .btn.dropdown-toggle.btn-lg {
  padding-right: 42px;
}
.dropdown-default .btn.dropdown-toggle.btn-lg .caret {
  right: 26px;
}
.dropdown-default .btn.dropdown-toggle.btn-lg + .dropdown-menu {
  margin-top: -47px;
  padding-top: 49px;
}
.dropdown-default .btn.dropdown-toggle.btn-lg + .dropdown-menu:after {
  top: 49px;
}
.dropdown-default .btn.dropdown-toggle.btn-sm {
  padding-right: 26px;
}
.dropdown-default .btn.dropdown-toggle.btn-sm .caret {
  right: 16px;
}
.dropdown-default .btn.dropdown-toggle.btn-sm + .dropdown-menu {
  margin-top: -34px;
  padding-top: 36px;
}
.dropdown-default .btn.dropdown-toggle.btn-sm + .dropdown-menu:after {
  top: 36px;
}
.dropdown-default .btn.dropdown-toggle.btn-xs {
  padding-right: 21px;
}
.dropdown-default .btn.dropdown-toggle.btn-xs .caret {
  right: 8px;
}
.dropdown-default .btn.dropdown-toggle.btn-xs + .dropdown-menu {
  margin-top: -29px;
  padding-top: 31px;
}
.dropdown-default .btn.dropdown-toggle.btn-xs + .dropdown-menu:after {
  top: 31px;
}
.dropdown-default .btn.dropdown-toggle .caret {
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -2px;
}
.dropdown-default .btn-rounded {
  padding-left: 17px;
  padding-right: 17px;
}
.dropdown-default .btn-rounded + .dropdown-menu {
  border-radius: 17px;
}
.dropdown-default .dropdown-menu {
  margin-top: -40px;
  padding-top: 42px;
  overflow: hidden;
  backface-visibility: hidden;
  display: block;
  opacity: 0;
  transform: scale(1, 0);
  transform-origin: center top 0;
  -webkit-transition: all 170ms cubic-bezier(0.05, 0.74, 0.27, 0.99) 0s;
  transition: all 170ms cubic-bezier(0.05, 0.74, 0.27, 0.99) 0s;
  z-index: -1;
}
.dropdown-default .dropdown-menu:after {
  content: "";
  position: absolute;
  height: 1px;
  left: 0;
  top: 42px;
  background: #e6e6e6;
  width: 100%;
}
.dropdown-default .dropdown-menu li {
  visibility: hidden;
}
.dropdown-menu {
  position: absolute;
  display: none;
  float: left;
  list-style: none;
  text-shadow: none;
  -webkit-box-shadow: 0px 0px 5px rgba(98, 98, 98, 0.2);
  box-shadow: 0px 0px 5px rgba(98, 98, 98, 0.2);
  border: none;
  border-radius: 3px;
  font-size: 13px;
  margin: 0;
  background: #fafafa;
  min-width: 50px;
  z-index: 1030 !important;
}
.dropdown-menu .divider {
  background-color: #e6e6e6;
  height: 1px;
  margin: 3px 0;
  border-bottom: 0px;
}
.dropdown-menu > li {
  padding-left: 0px;
}
.dropdown-menu > li:first-child {
  /*padding-top: 9px;*/
}
.dropdown-menu > li.dropdown-header {
  padding: 3px 20px;
}
.dropdown-menu > li.active > a,
.dropdown-menu > li.active > a:hover,
.dropdown-menu > li.active > a:focus {
  color: #1a1a1a;
  text-decoration: none;
  background-color: #f0f0f0;
  background-image: none;
}
.dropdown-menu > li.disabled > a,
.dropdown-menu > li.disabled > a:hover,
.dropdown-menu > li.disabled > a:focus {
  color: #959595;
}
.dropdown-menu > li.disabled > a:hover,
.dropdown-menu > li.disabled > a:focus {
  text-decoration: none;
  cursor: default;
  background-color: transparent;
  background-image: none;
}
.dropdown-menu > li > a {
  line-height: 35px;
  color: #626262;
  padding: 0 20px;
  border-radius: 3px;
  text-align: left;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: #1a1a1a;
  text-decoration: none;
  background-color: transparent;
  background-image: none;
}
.dropdown-backdrop {
  z-index: 1029;
}
/*
Animated buttons
--------------------------------------------------
*/
.btn-animated {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.btn-animated > span {
  display: inline-block;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.btn-animated:before {
  position: absolute;
  height: 100%;
  width: 100%;
  font-size: 100%;
  line-height: 2.5;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn-animated:after {
  content: '';
  position: absolute;
  z-index: -1;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn-animated.from-top:before {
  left: 0;
  top: -100%;
}
.btn-animated.from-top:hover:before,
.btn-animated.from-top.show-icon:before {
  top: 0;
}
.btn-animated.from-top:hover > span,
.btn-animated.from-top.show-icon > span {
  -webkit-transform: translateY(300%);
  -ms-transform: translateY(300%);
  transform: translateY(300%);
}
.btn-animated.from-left:before {
  left: -100%;
  top: 0;
}
.btn-animated.from-left:hover:before,
.btn-animated.from-left.show-icon:before {
  left: 0;
}
.btn-animated.from-left:hover > span,
.btn-animated.from-left.show-icon > span {
  -webkit-transform: translateX(200%);
  -ms-transform: translateX(200%);
  transform: translateX(200%);
}
.btn-animated.fa:before {
  font-family: FontAwesome;
}
.btn-animated.pg:before {
  font-family: "pages-icon";
}
/*
Tag buttons
--------------------------------------------------
*/
.btn-tag {
  line-height: 17px;
  border-radius: 17px 3px 3px 17px;
  padding: 5px 19px;
}
.btn-tag:hover,
.btn-tag.hover {
  border-color: transparent;
}
.btn-tag.btn-tag-light {
  background: #fafdff;
  color: #5b8ca5;
  border: 1px solid #cbe4f0;
}
.btn-tag.btn-tag-light:hover {
  background: #fff;
}
.btn-tag.btn-tag-dark {
  background: #e6e6e6;
  color: #626262;
}
.btn-tag.btn-tag-dark:hover {
  background: #ebebeb;
}
.btn-tag.btn-tag-rounded {
  border-radius: 17px;
}
/*
Misc buttons
--------------------------------------------------
*/
.btn-toolbar .btn {
  padding-left: 14px;
  padding-right: 14px;
}
.pager .disabled > button,
.pager .disabled > button:hover,
.pager .disabled > button:focus,
.pager .disabled > span {
  cursor: not-allowed;
  opacity: .5;
}
.btn .btn-notification {
  border-radius: 100%;
  height: 20px;
  width: 20px;
  background-color: #f55753;
  color: #fff;
  position: absolute;
  top: -8px;
  right: -5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 12px;
}
/*------------------------------------------------------------------
[7. Alerts]
*/
.alert {
  background-image: none;
  box-shadow: none;
  text-shadow: none;
  padding: 9px 19px 9px 15px;
  border-radius: 3px;
  font-size: 13px;
  border-width: 0;
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
}
.alert.bordered {
  border-width: 1px;
}
.alert .link {
  color: #ce8f22;
  font-weight: bold;
}
.alert .alert-heading {
  color: #ce8f22 !important;
  margin-bottom: 5px;
  font-weight: 600;
}
.alert .btn-small {
  position: relative;
  top: -3.5px;
}
.alert .button-set .btn {
  position: relative;
  top: 8px;
}
.alert .close {
  background: url("../img/icons/noti-cross.png") no-repeat scroll 0 0 transparent;
  background-position: -9px -10px;
  width: 10px;
  height: 9px;
  position: relative;
  opacity: 0.8;
  top: 4.5px;
  float: right;
  margin-left: 20px;
  font-size: 0;
}
.alert .close:hover {
  opacity: 1;
}
/* Alert : Color Options
------------------------------------
*/
.alert-danger,
.alert-error {
  background-color: #fddddd;
  color: #933432;
  border-color: #933432;
}
.alert-danger .close,
.alert-error .close {
  background-position: -95px -10px !important;
}
.alert-warning {
  background-color: #fef6dd;
  color: #957d32;
  border-color: #957d32;
}
.alert-info {
  background-color: #daeffd;
  color: #2b6a94;
  border-color: #2b6a94;
}
.alert-info .close {
  background-position: -67px -10px !important;
}
.alert-success {
  background-color: #cff5f2;
  color: #0a7c71;
  border-color: #0a7c71;
}
.alert-success .close {
  background-position: -38px -10px !important;
}
.alert-default {
  background-color: #fff;
  color: #626262;
  border-color: #e6e6e6;
}
.alert-default .close {
  background-position: -67px -10px !important;
}
/*------------------------------------------------------------------
[8. Notifications]
*/
/* Badges
--------------------------------------------------
*/
.badge {
  text-shadow: none;
  font-family: wf_segoe-ui_light, wf_segoe-ui_normal, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  background-color: #e6e6e6;
  font-size: 11px;
  padding-left: 6px;
  padding-right: 6px;
  padding-bottom: 4px;
  color: #626262;
}
.badge-success {
  background-color: #10cfbd;
  color: #ffffff;
}
.badge-warning {
  background-color: #f8d053;
  color: #ffffff;
}
.badge-important {
  background-color: #f55753;
  color: #ffffff;
}
.badge-danger {
  background-color: #f55753;
  color: #ffffff;
}
.badge-info {
  background-color: #3b4752;
  color: #ffffff;
}
.badge-inverse {
  background-color: #2b6a94;
  color: #ffffff;
}
.badge-white {
  background-color: #ffffff;
  color: #626262;
}
.badge-disable {
  background-color: #2c2c2c;
  color: #626262;
}
/* Notification popup
--------------------------------------------------
*/
.popover {
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 9px rgba(191, 191, 191, 0.36);
  z-index: 790;
}
.notification-toggle {
  top: 35px;
  left: -26px;
  padding: 0;
}
.notification-toggle:before {
  border-bottom: 0px !important;
}
.notification-toggle:after {
  border-bottom: 0px !important;
}
.notification-panel {
  background-color: #fff;
  border: 1px solid #e6e6e6;
}
.notification-panel .notification-body {
  height: auto;
  max-height: 350px;
  position: relative;
  overflow: hidden;
}
.notification-panel .notification-body .notification-item {
  position: relative;
  margin-left: 25px;
  background-color: #fff;
  padding-right: 26px;
}
.notification-panel .notification-body .notification-item.unread .heading {
  opacity: 1;
}
.notification-panel .notification-body .notification-item.unread .option {
  background-color: #daeffd;
}
.notification-panel .notification-body .notification-item.unread .option .mark {
  color: #6dc0f9;
}
.notification-panel .notification-body .notification-item .heading {
  line-height: 43px;
  margin-right: 5px;
  background: #fff;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
  float: left;
  width: 100%;
  font-size: 14px;
  opacity: 0.7;
}
.notification-panel .notification-body .notification-item .heading:after {
  content: '';
  position: absolute;
  width: 5px;
  height: 100%;
  background-color: #fff;
  right: 0;
  top: 1px;
}
.notification-panel .notification-body .notification-item .heading .thumbnail-wrapper {
  cursor: pointer;
}
.notification-panel .notification-body .notification-item .heading .thumbnail-wrapper i {
  -webkit-transition: all 0.12s linear;
  transition: all 0.12s linear;
}
.notification-panel .notification-body .notification-item .heading .time {
  font-size: 11px;
  margin-right: 8px;
}
.notification-panel .notification-body .notification-item .heading.open {
  display: block;
}
.notification-panel .notification-body .notification-item .heading.open .more-details {
  display: block;
}
.notification-panel .notification-body .notification-item .heading.open .thumbnail-wrapper i {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.notification-panel .notification-body .notification-item .heading .thumbnail-wrapper.d24 {
  line-height: 20px;
}
.notification-panel .notification-body .notification-item .more-details {
  display: none;
  background-color: #fff;
  width: 100%;
  height: 100%;
  clear: both;
  position: relative;
}
.notification-panel .notification-body .notification-item .more-details .more-details-inner {
  margin-left: 10px;
  padding-left: 28px;
  padding-top: 15px;
  margin-bottom: 20px;
  position: relative;
  border-left: 1px solid rgba(230, 230, 230, 0.7);
  text-align: left;
}
.notification-panel .notification-body .notification-item .more-details .more-details-inner:after {
  width: 14px;
  height: 14px;
  position: absolute;
  content: '';
  background-color: #fff;
  left: -7px;
  top: 25px;
  border: 1px solid rgba(230, 230, 230, 0.9);
  border-radius: 99px;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
}
.notification-panel .notification-body .notification-item .more-details .more-details-inner:before {
  color: #c0c0c0;
  position: absolute;
  bottom: 0;
  left: -5px;
  content: ' \25CF';
  font-size: 13px;
  line-height: 5px;
  background-color: #fff;
  height: 9px;
}
.notification-panel .notification-body .notification-item .more-details .more-details-inner .hint-text {
  opacity: .44;
}
.notification-panel .notification-body .notification-item .option {
  font-size: 10px;
  position: absolute;
  height: 44px;
  width: 26px;
  right: 0;
  text-align: center;
  vertical-align: middle;
  line-height: 44px;
  background-color: #fafafa;
  height: 100%;
}
.notification-panel .notification-body .notification-item .option .mark {
  background-color: transparent;
  color: #c0c0c0;
}
.notification-panel .notification-body .notification-item .option .mark:before {
  content: ' \25CF';
  font-size: 12px;
}
.notification-panel .notification-body .notification-item:last-child .heading {
  border-bottom: 0px;
}
.notification-panel .notification-footer {
  padding: 10px;
  display: block;
  border-top: 1px solid #e6e6e6;
}
.notification-panel .notification-footer a {
  color: #626262;
  opacity: .54;
}
.notification-panel .notification-footer a:hover {
  opacity: .74;
}
/* Simple alerts
--------------------------------------------------
*/
.alerts-container {
  position: fixed;
  width: 350px;
  right: 20px;
  z-index: 999;
  top: 80px;
}
.alerts-container[data-placement$='-left'] {
  left: 100px;
  right: auto;
}
.alerts-container[data-placement$='-right'] {
  right: 20px;
  left: auto;
}
.alerts-container[data-placement^='top-'] {
  top: 80px;
  bottom: auto;
}
.alerts-container[data-placement^='bottom-'] {
  top: auto;
  bottom: 20px;
}
.alerts-container[data-placement='bottom-right'] .alert:last-child,
.alerts-container[data-placement='bottom-left'] .alert:last-child {
  margin-bottom: 0;
}
.alerts-container .alert {
  position: relative;
}
.alerts-container .alert .close {
  position: absolute;
  right: 9px;
  top: 15px;
}
/* Pages Notifications plugin
--------------------------------------------------
*/
body.menu-pin > .pgn-wrapper[data-position$='-left'],
body.menu-pin > .pgn-wrapper[data-position="top"],
body.menu-pin > .pgn-wrapper[data-position="bottom"] {
  left: 280px;
}
.pgn-wrapper {
  position: fixed;
  z-index: 1000;
}
.pgn-wrapper[data-position$='-left'] {
  left: 30px;
}
.pgn-wrapper[data-position$='-right'] {
  right: 20px;
}
.pgn-wrapper[data-position^='top-'] {
  top: 20px;
}
.pgn-wrapper[data-position^='bottom-'] {
  bottom: 20px;
}
.pgn-wrapper[data-position='top'] {
  top: 0;
  left: 0;
  right: 0;
}
.pgn-wrapper[data-position='bottom'] {
  bottom: 0;
  left: 0;
  right: 0;
}
.pgn {
  position: relative;
  margin: 10px;
}
.pgn .alert {
  margin: 0;
}
/* Simple 
------------------------------------
*/
.pgn-simple .alert {
  padding-top: 13px;
  padding-bottom: 13px;
  max-width: 500px;
  animation: fadeIn 0.3s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  -webkit-animation: fadeIn 0.3s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  max-height: 250px;
  overflow: hidden;
}
/* Bar 
------------------------------------
*/
.pgn-bar {
  overflow: hidden;
  margin: 0;
}
.pgn-bar .alert {
  border-radius: 0;
  padding-top: 13px;
  padding-bottom: 13px;
  max-height: 91px;
}
.pgn-wrapper[data-position='top'] .pgn-bar .alert {
  animation: slideInFromTop 0.5s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  -webkit-animation: slideInFromTop 0.5s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  transform-origin: top left;
  -webkit-transform-origin: top left;
}
.pgn-wrapper[data-position='bottom'] .pgn-bar .alert {
  animation: slideInFromBottom 0.5s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  -webkit-animation: slideInFromBottom 0.5s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  transform-origin: bottom left;
  -webkit-transform-origin: bottom left;
}
.pgn-bar .alert span {
  opacity: 0;
  animation: fadeIn 0.3s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
  -webkit-animation: fadeIn 0.3s cubic-bezier(0.05, 0.74, 0.27, 0.99) forwards;
}
@keyframes slideInFromTop {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes slideInFromTop {
  0% {
    -webkit-transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@keyframes slideInFromBottom {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes slideInFromBottom {
  0% {
    -webkit-transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
/* Circle 
------------------------------------
*/
.pgn-circle .alert {
  border-radius: 300px;
  animation: fadeInCircle 0.3s ease forwards, resizeCircle 0.3s 0.4s cubic-bezier(0.25, 0.25, 0.4, 1.6) forwards;
  -webkit-animation: fadeInCircle 0.3s ease forwards, resizeCircle 0.3s 0.4s cubic-bezier(0.25, 0.25, 0.4, 1.6) forwards;
  height: 60px;
  overflow: hidden;
  padding: 6px 55px 6px 6px;
  -webkit-transform: translateZ(0);
  position: relative;
}
.pgn-wrapper[data-position$='-right'] .pgn-circle .alert {
  float: right;
}
.pgn-wrapper[data-position$='-left'] .pgn-circle .alert {
  float: left;
}
.pgn-circle .alert > div > div.pgn-thumbnail > div {
  border-radius: 50%;
  overflow: hidden;
  width: 48px;
  height: 48px;
}
.pgn-circle .alert > div > div.pgn-thumbnail > div > img {
  width: 100%;
  height: 100%;
}
.pgn-circle .alert > div > div.pgn-message > div {
  opacity: 0;
  height: 47px;
  padding-left: 9px;
  animation: fadeIn .3s .5s ease forwards;
  -webkit-animation: fadeIn .3s .5s ease forwards;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: break-all;
  word-wrap: break-word;
}
.pgn-circle .alert > div > div.pgn-message > div p:only-child {
  padding: 12px 0;
}
.pgn-circle .alert .close {
  margin-top: -12px;
  position: absolute;
  right: 18px;
  top: 50%;
  opacity: 0;
  animation: fadeIn .3s .5s ease forwards;
  -webkit-animation: fadeIn .3s .5s ease forwards;
}
.pgn-circle .alert p {
  margin-bottom: 0;
}
.pgn-circle .alert > div {
  display: table;
  height: 100%;
}
.pgn-circle .alert > div > div {
  display: table-cell;
  vertical-align: middle;
}
@keyframes fadeInCircle {
  0% {
    opacity: 0;
    width: 60px;
  }
  100% {
    opacity: 1;
    width: 60px;
  }
}
@-webkit-keyframes fadeInCircle {
  0% {
    opacity: 0;
    width: 60px;
  }
  100% {
    opacity: 1;
    width: 60px;
  }
}
@keyframes resizeCircle {
  0% {
    width: 60px;
  }
  100% {
    width: 300px;
  }
}
@-webkit-keyframes resizeCircle {
  0% {
    width: 60px;
  }
  100% {
    width: 300px;
  }
}
/* Flip 
------------------------------------
*/
.pgn-wrapper[data-position^='top-'] .pgn-flip {
  top: -30px;
}
.pgn-wrapper[data-position^='bottom-'] .pgn-flip {
  bottom: -30px;
}
.pgn-wrapper[data-position^='bottom-'] .pgn-flip .alert {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}
.pgn-flip .alert {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  box-shadow: 0 6px 4px -3px rgba(0, 0, 0, 0.2);
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  border-radius: 0;
  padding: 25px 35px;
  max-width: 500px;
  max-height: 250px;
  overflow: hidden;
}
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
    -webkit-transition-timing-function: ease-in;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg);
    -webkit-transition-timing-function: ease-out;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg);
    -webkit-transition-timing-function: ease-in;
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg);
    -webkit-transition-timing-function: ease-out;
  }
  100% {
    -webkit-transform: perspective(400px);
  }
}
@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 20deg);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -10deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 5deg);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Pages Notification customizations */
body > .pgn-wrapper[data-position="top"] {
  top: 60px;
  left: 70px;
}
body > .pgn-wrapper[data-position="bottom"] {
  left: 70px;
}
body > .pgn-wrapper[data-position$='-left'] {
  left: 90px;
  right: auto;
}
body > .pgn-wrapper[data-position^='top-'] {
  top: 80px;
  bottom: auto;
}
.pgn-circle .alert .close {
  margin-top: -4px;
}
body > .pgn-wrapper {
  z-index: 900;
}
@media (max-width: 979px) {
  body > .pgn-wrapper[data-position="top"] {
    left: 0;
  }
  body > .pgn-wrapper[data-position="bottom"] {
    left: 0;
  }
}
@media (max-width: 767px) {
  body > .pgn-wrapper[data-position$='-left'],
  body > .pgn-wrapper[data-position$='-right'] {
    left: 10px !important;
    right: 10px !important;
  }
  body > .pgn-wrapper[data-position$='-right'] .alert,
  body > .pgn-wrapper[data-position$='-left'] .alert {
    max-width: 100%;
    width: 100%;
  }
}
/* Notifications demo
--------------------------------------------------
*/
.notification-positions {
  border-radius: 4px;
  border: 3px dashed #e6e6e6;
  height: 370px;
  position: relative;
}
.notification-positions > div > .position:not(:only-child) {
  max-width: 50%;
}
.notification-positions .position {
  padding: 15px;
}
.notification-positions .position img {
  border: 3px solid transparent;
}
.notification-positions .position:hover {
  cursor: pointer;
}
.notification-positions .position.active img {
  border-color: #0090d9;
}
.notification-positions .position.pull-top,
.notification-positions .position.pull-bottom {
  left: 0;
  right: 0;
}
.notification-positions .position img {
  width: 100%;
}
/*------------------------------------------------------------------
[9. Progress Indicators]
*/
.progress {
  height: 4px;
  background-color: rgba(98, 98, 98, 0.2);
  background-image: none;
  box-shadow: none;
  border-radius: 0;
}
.progress.transparent {
  background-color: rgba(0, 0, 0, 0.28);
}
.progress.progress-small {
  height: 3px;
}
/* Circular Progress : indeterminate color
------------------------------------
*/
.progress-bar-indeterminate {
  background: url('../img/progress/progress-bar-master.svg') no-repeat top left;
  width: 100%;
  height: 100%;
  background-size: cover;
}
.progress-bar-indeterminate.progress-bar-primary {
  background-image: url('../img/progress/progress-bar-primary.svg');
  background-color: transparent;
}
.progress-bar-indeterminate.progress-bar-complete {
  background-image: url('../img/progress/progress-bar-complete.svg');
  background-color: transparent;
}
.progress-bar-indeterminate.progress-bar-success {
  background-image: url('../img/progress/progress-bar-success.svg');
  background-color: transparent;
}
.progress-bar-indeterminate.progress-bar-info {
  background-image: url('../img/progress/progress-bar-info.svg');
  background-color: transparent;
}
.progress-bar-indeterminate.progress-bar-warning {
  background-image: url('../img/progress/progress-bar-warning.svg');
  background-color: transparent;
}
.progress-bar-indeterminate.progress-bar-danger {
  background-image: url('../img/progress/progress-bar-danger.svg');
  background-color: transparent;
}
.progress-bar-indeterminate.progress-bar-master {
  background-image: url('../img/progress/progress-bar-master.svg');
  background-color: transparent;
}
/* Progress Bar
------------------------------------
*/
.progress-bar {
  box-shadow: none;
  border-radius: 0;
  background-color: #626262;
  background-image: none;
  -webkit-transition: all 1000ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 1000ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
/* Progress Bar : Color Options
------------------------------------
*/
.progress-bar-primary {
  background-color: #6d5cae;
  background-image: none;
}
.progress-bar-complete {
  background-color: #48b0f7;
  background-image: none;
}
.progress-bar-success {
  background-color: #10cfbd;
  background-image: none;
}
.progress-bar-info {
  background-color: #3b4752;
  background-image: none;
}
.progress-bar-warning {
  background-color: #f8d053;
  background-image: none;
}
.progress-bar-danger {
  background-color: #f55753;
  background-image: none;
}
.progress-bar-white {
  background-color: #ffffff;
  background-image: none;
}
.progress-bar-black {
  background-color: #000000;
  background-image: none;
}
.progress-info .bar,
.progress .bar-info {
  background-color: #232b31;
  background-image: none;
}
.progress-warning .bar,
.progress .bar-warning {
  background-color: #957d32;
  background-image: none;
}
.progress-danger .bar,
.progress .bar-danger {
  background-color: #933432;
  background-image: none;
}
.progress-white .bar,
.progress .bar-white {
  background-color: #ffffff;
  background-image: none;
}
.progress-success.progress-striped .bar,
.progress-striped .bar-success {
  background-color: #10cfbd;
}
.progress-info.progress-striped .bar,
.progress-striped .bar-info {
  background-color: #3b4752;
}
/* Circular Progress : indeterminate 
------------------------------------
*/
.progress-circle-indeterminate {
  background: url('../img/progress/progress-circle-master.svg') no-repeat top left;
  width: 50px;
  height: 50px;
  background-size: 100% auto;
  margin: 0 auto;
}
.progress-circle-indeterminate.progress-circle-warning {
  background-image: url('../img/progress/progress-circle-warning.svg');
}
.progress-circle-indeterminate.progress-circle-danger {
  background-image: url('../img/progress/progress-circle-danger.svg');
}
.progress-circle-indeterminate.progress-circle-info {
  background-image: url('../img/progress/progress-circle-info.svg');
}
.progress-circle-indeterminate.progress-circle-primary {
  background-image: url('../img/progress/progress-circle-primary.svg');
}
.progress-circle-indeterminate.progress-circle-success {
  background-image: url('../img/progress/progress-circle-success.svg');
}
.progress-circle-indeterminate.progress-circle-complete {
  background-image: url('../img/progress/progress-circle-complete.svg');
}
/* Circular Progress 
------------------------------------
*/
.progress-circle {
  display: block;
  height: 45px;
  margin: 0 auto;
  position: relative;
  width: 45px;
  -webkit-backface-visibility: hidden;
}
.progress-circle.progress-circle-warning .pie .half-circle {
  border-color: #f8d053;
}
.progress-circle.progress-circle-danger .pie .half-circle {
  border-color: #f55753;
}
.progress-circle.progress-circle-info .pie .half-circle {
  border-color: #3b4752;
}
.progress-circle.progress-circle-primary .pie .half-circle {
  border-color: #6d5cae;
}
.progress-circle.progress-circle-success .pie .half-circle {
  border-color: #10cfbd;
}
.progress-circle.progress-circle-complete .pie .half-circle {
  border-color: #48b0f7;
}
.progress-circle.progress-circle-thick .pie .half-circle,
.progress-circle.progress-circle-thick .shadow {
  border-width: 5px;
}
.progress-circle .pie {
  clip: rect(0, 45px, 45px, 22.5px);
  height: 45px;
  position: absolute;
  width: 45px;
}
.progress-circle .pie .half-circle {
  border: 3px solid #626262;
  border-radius: 50%;
  clip: rect(0, 22.5px, 45px, 0);
  height: 45px;
  position: absolute;
  width: 45px;
}
.progress-circle .shadow {
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  height: 100%;
  width: 100%;
}
/*------------------------------------------------------------------
[10. Modals]
*/
.modal .close:focus {
  outline: 0;
}
.modal .modal-dialog {
  /*margin-top: 20px;*/
  transition: all .2s !important;
}
.modal .modal-content {
  border: 1px solid #f2f6f7;
  border-radius: 3px;
  box-shadow: none;
}
.modal .modal-header {
  background-color: #2c2c31;
  text-align: center;
  border-bottom: 0;
}
.modal .modal-header h5 {
  color: #FFF;
  font-weight: 400;
}
.modal .modal-header p {
  color: #8b91a0;
}
.modal .modal-body {
  box-shadow: none;
  padding: 25px;
  white-space: normal;
}
.modal .modal-footer {
  box-shadow: none;
  margin-top: 0;
  padding: 15px;
}
.modal .drop-shadow {
  box-shadow: 0 0 9px rgba(191, 191, 191, 0.36) !important;
}
.fill-in-modal .modal-backdrop {
  background-color: transparent;
}
.modal-backdrop {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.modal-backdrop.in {
  opacity: 0.30;
}
/* Responsive Handlers: Modals
------------------------------------
*/
@media (max-width: 768px) {
  .modal.fill-in .modal-dialog {
    width: calc(100% - 20px);
  }
  .modal.slide-up .modal-dialog {
    width: calc(100% - 20px);
  }
}
@media (min-width: 768px) {
  .modal .modal-content {
    box-shadow: none;
  }
}
@media (max-width: 768px) {
  .modal-lg {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .modal-xlg {
    width: 90%;
  }
}
@media (max-width: 991px) {
  .modal-xlg {
    width: 100%;
  }
}
@media (min-width: 1280px) {
  .modal-xlg {
    width: 1200px;
  }
}
.modal-auto {
  width: 100%;
}
/*------------------------------------------------------------------
[11. Tabs & Accordians]
*/
/* Tabs
------------------------------------
*/
.nav-tabs > li {
  padding-left: 0;
  padding-right: 0;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  border-color: #e6e6e6;
  color: #626262;
  background-color: #e6e6e6;
}
.nav-tabs > li > a {
  border-radius: 0;
  padding: 15px 20px;
  margin-right: 0;
  font-family: 'Montserrat';
  font-weight: 400;
  color: rgba(98, 98, 98, 0.7);
  font-size: 12px;
  min-width: 70px;
  text-transform: uppercase;
  border-color: transparent;
}
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
  background: transparent;
  border-color: transparent;
  color: #626262;
}
.nav-tabs > li > a .tab-icon {
  margin-right: 6px;
}
.nav-tabs ~ .tab-content {
  /*overflow: hidden;*/
  padding: 15px;
}
.nav-tabs ~ .tab-content > .tab-pane.slide-left,
.nav-tabs ~ .tab-content > .tab-pane.slide-right {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
}
.nav-tabs ~ .tab-content > .tab-pane.slide-left.sliding,
.nav-tabs ~ .tab-content > .tab-pane.slide-right.sliding {
  opacity: 0 !important;
}
.nav-tabs ~ .tab-content > .tab-pane.slide-left.active,
.nav-tabs ~ .tab-content > .tab-pane.slide-right.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -ms-transform: translate(0, 0);
  opacity: 1;
}
.nav-tabs ~ .tab-content > .tab-pane.slide-left.sliding {
  -webkit-transform: translate3d(10%, 0, 0) !important;
  transform: translate3d(10%, 0, 0) !important;
  -ms-transform: translate(10%, 0) !important;
}
.nav-tabs ~ .tab-content > .tab-pane.slide-right.sliding {
  -webkit-transform: translate3d(-10%, 0, 0) !important;
  transform: translate3d(-10%, 0, 0) !important;
  -ms-transform: translate(-10%, 0) !important;
}
.nav-tabs.nav-tabs-left:after,
.nav-tabs.nav-tabs-right:after {
  border-bottom: 0px;
}
.nav-tabs.nav-tabs-left > li,
.nav-tabs.nav-tabs-right > li {
  float: none;
}
.nav-tabs.nav-tabs-left {
  float: left;
  padding-right: 0;
}
.nav-tabs.nav-tabs-left ~ .tab-content {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.nav-tabs.nav-tabs-right {
  float: right;
  padding-right: 0;
}
.nav-tabs.nav-tabs-right ~ .tab-content {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
/* Tabs : Simple 
------------------------------------
*/
.nav-tabs-simple {
  border-bottom: 0px;
}
.nav-tabs-simple:after {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  position: relative;
  bottom: 3px;
  z-index: 120;
}
.nav-tabs-simple > li {
  margin-bottom: 0;
}
.nav-tabs-simple > li:after {
  -webkit-transition: all 0.1s linear 0s;
  transition: all 0.1s linear 0s;
  -webkit-backface-visibility: hidden;
  width: 100%;
  display: block;
  background-color: #f55753;
  height: 0px;
  content: '';
  z-index: 125;
}
.nav-tabs-primary.nav-tabs-simple > li:after {
  background-color: #6d5cae;
}
.nav-tabs-success.nav-tabs-simple > li:after {
  background-color: #10cfbd;
}
.nav-tabs-complete.nav-tabs-simple > li:after {
  background-color: #48b0f7;
}
.nav-tabs-danger.nav-tabs-simple > li:after {
  background-color: #f55753;
}
.nav-tabs-warning.nav-tabs-simple > li:after {
  background-color: #f8d053;
}
.nav-tabs-info.nav-tabs-simple > li:after {
  background-color: #3b4752;
}
.nav-tabs-simple > li.active a,
.nav-tabs-simple > li.active a:hover,
.nav-tabs-simple > li.active a:focus {
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs-simple > li.active:after,
.nav-tabs-simple > li:hover:after {
  height: 3px;
}
.nav-tabs-simple.nav-tabs-left:after,
.nav-tabs-simple.nav-tabs-right:after {
  border-bottom: 0px;
}
.nav-tabs-simple.nav-tabs-left > li:after,
.nav-tabs-simple.nav-tabs-right > li:after {
  width: 0px;
  height: 100%;
  top: 0;
  bottom: 0;
  position: absolute;
}
.nav-tabs-simple.nav-tabs-left > li.active:after,
.nav-tabs-simple.nav-tabs-right > li.active:after,
.nav-tabs-simple.nav-tabs-left > li:hover:after,
.nav-tabs-simple.nav-tabs-right > li:hover:after {
  width: 3px;
}
.nav-tabs-simple.nav-tabs-left > li:after {
  right: 0;
}
.nav-tabs-simple.nav-tabs-right > li:after {
  left: 0;
}
/* Tabs : Line Triangles
------------------------------------
*/
.nav-tabs-linetriangle {
  border-bottom: 0;
}
.nav-tabs-linetriangle:after {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  position: relative;
  bottom: 0;
}
.nav-tabs-linetriangle > li.active > a {
  background: transparent;
  box-shadow: none;
  border-color: transparent;
}
.nav-tabs-linetriangle > li.active > a:hover,
.nav-tabs-linetriangle > li.active > a:focus,
.nav-tabs-linetriangle > li.active > a:active {
  border-color: transparent;
  background-color: transparent;
}
.nav-tabs-linetriangle > li.active > a:after,
.nav-tabs-linetriangle > li.active > a:before {
  border: medium solid transparent;
  content: "";
  height: 0;
  left: 50%;
  pointer-events: none;
  position: absolute;
  width: 0;
  z-index: 1;
  top: 100%;
}
.nav-tabs-linetriangle > li.active > a:after {
  border-top-color: #fafafa;
  border-width: 10px;
  margin-left: -10px;
}
.nav-tabs-linetriangle > li.active > a:before {
  border-top-color: rgba(0, 0, 0, 0.2);
  border-width: 11px;
  margin-left: -11px;
}
.nav-tabs-linetriangle > li > a span {
  font-size: 1em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-tabs-linetriangle > li > a,
.nav-tabs-linetriangle > li > a:hover,
.nav-tabs-linetriangle > li > a:focus {
  overflow: visible;
  -webkit-transition: color 0.2s ease 0s;
  transition: color 0.2s ease 0s;
}
.nav-tabs-linetriangle ~ .tab-content {
  background: #fff;
}
.nav-tabs-linetriangle.nav-tabs-left.nav-tabs:after {
  border-bottom: none;
}
.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > li.active > a:before {
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 11px solid rgba(0, 0, 0, 0.2);
}
.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > li.active > a:after {
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #fafafa;
  margin-top: 1px;
  margin-right: 2px;
}
.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > li.active > a:after,
.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > li.active > a:before {
  top: auto;
  right: -23px;
  left: auto;
}
.nav-tabs-linetriangle.nav-tabs-right.nav-tabs:after {
  border-bottom: none;
}
.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > li.active > a:before {
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-right: 11px solid rgba(0, 0, 0, 0.2);
}
.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > li.active > a:after {
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid #fafafa;
  margin-top: 1px;
  margin-left: -9px;
}
.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > li.active > a:after,
.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > li.active > a:before {
  top: auto;
  left: -12px;
  right: auto;
}
@media screen and (max-width: 58em) {
  .nav-tabs-linetriangle {
    font-size: 0.6em;
  }
}
/* Tabs : Fill-up 
------------------------------------
*/
.nav-tabs-fillup {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000;
  -moz-perspective: 1000;
  perspective: 1000;
}
.nav-tabs-fillup > li {
  overflow: hidden;
}
.nav-tabs-fillup > li > a {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: color 0.3s ease 0s;
  transition: color 0.3s ease 0s;
  background: transparent;
}
.nav-tabs-fillup > li > a:after {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  background: none repeat scroll 0 0 #10cfbd;
  border: 1px solid #10cfbd;
  content: "";
  height: calc(100% + 1px);
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translate3d(0, 100%, 0px);
  transform: translate3d(0, 100%, 0px);
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  width: 100%;
  z-index: -1;
}
.nav-tabs-primary.nav-tabs-fillup > li > a:after {
  background: none repeat scroll 0 0 #6d5cae;
  border: 1px solid #6d5cae;
}
.nav-tabs-success.nav-tabs-fillup > li > a:after {
  background: none repeat scroll 0 0 #10cfbd;
  border: 1px solid #10cfbd;
}
.nav-tabs-complete.nav-tabs-fillup > li > a:after {
  background: none repeat scroll 0 0 #48b0f7;
  border: 1px solid #48b0f7;
}
.nav-tabs-warning.nav-tabs-fillup > li > a:after {
  background: none repeat scroll 0 0 #f8d053;
  border: 1px solid #f8d053;
}
.nav-tabs-danger.nav-tabs-fillup > li > a:after {
  background: none repeat scroll 0 0 #f55753;
  border: 1px solid #f55753;
}
.nav-tabs-info.nav-tabs-fillup > li > a:after {
  background: none repeat scroll 0 0 #3b4752;
  border: 1px solid #3b4752;
}
.nav-tabs-fillup > li > a span {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0px, 5px, 0px);
  transform: translate3d(0px, 5px, 0px);
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  display: block;
  font-weight: 700;
  line-height: 1.5;
}
.nav-tabs-fillup > li.active {
  z-index: 100;
}
.nav-tabs-fillup > li.active > a,
.nav-tabs-fillup > li.active > a:hover,
.nav-tabs-fillup > li.active > a:focus {
  border-color: transparent;
  background: transparent;
  color: #fff;
}
.nav-tabs-fillup > li.active > a:after {
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate(0px, 0px);
}
.nav-tabs-fillup > li.active > a span {
  -webkit-transform: translate3d(0px, -5px, 0px);
  transform: translate3d(0px, -5px, 0px);
  -ms-transform: translate(0px, -5px);
}
.nav-tabs-fillup > li.active .icon:before {
  -webkit-transform: translate3d(0px, -5px, 0px);
  transform: translate3d(0px, -5px, 0px);
  -ms-transform: translate(0px, -5px);
}
.nav-tabs-fillup .icon:before {
  -webkit-transform: translate3d(0px, 5px, 0px);
  transform: translate3d(0px, 5px, 0px);
  -ms-transform: translate(0px, 5px);
  -webkit-transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  display: block;
  margin: 0;
}
.nav-tabs-fillup ~ .tab-content {
  background: #fff;
}
.nav-tabs-fillup.nav-tabs-left,
.nav-tabs-fillup.nav-tabs-right {
  border-bottom: none;
}
.nav-tabs-fillup.nav-tabs-left:after,
.nav-tabs-fillup.nav-tabs-right:after {
  border-bottom: none;
}
.nav-tabs-fillup.nav-tabs-left > li > a:after,
.nav-tabs-fillup.nav-tabs-right > li > a:after {
  width: calc(100% + 1px);
  height: 100%;
}
.nav-tabs-fillup.nav-tabs-left > li.active a:after,
.nav-tabs-fillup.nav-tabs-right > li.active a:after {
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate(0px, 0px);
}
.nav-tabs-fillup.nav-tabs-left > li > a:after {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
}
.nav-tabs-fillup.nav-tabs-left > li > a span {
  -webkit-transform: translate3d(5px, 0, 0px);
  transform: translate3d(5px, 0, 0px);
  -ms-transform: translate(5px, 0);
}
.nav-tabs-fillup.nav-tabs-left > li.active a span {
  -webkit-transform: translate3d(-5px, 0, 0px);
  transform: translate3d(-5px, 0, 0px);
  -ms-transform: translate(-5px, 0);
}
.nav-tabs-fillup.nav-tabs-left > li.active .icon:before {
  -webkit-transform: translate3d(-5px, 0, 0px);
  transform: translate3d(-5px, 0, 0px);
  -ms-transform: translate(-5px, 0);
}
.nav-tabs-fillup.nav-tabs-right > li > a:after {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  left: -1px;
}
.nav-tabs-fillup.nav-tabs-right > li > a span {
  -webkit-transform: translate3d(-5px, 0, 0px);
  transform: translate3d(-5px, 0, 0px);
  -ms-transform: translate(-5px, 0);
}
.nav-tabs-fillup.nav-tabs-right > li.active a span {
  -webkit-transform: translate3d(5px, 0, 0px);
  transform: translate3d(5px, 0, 0px);
  -ms-transform: translate(5px, 0);
}
.nav-tabs-fillup.nav-tabs-right > li.active .icon:before {
  -webkit-transform: translate3d(5px, 0, 0px);
  transform: translate3d(5px, 0, 0px);
  -ms-transform: translate(5px, 0);
}
.nav-tabs-header {
  overflow: scroll;
  width: 100%;
}
.nav-tabs-header .nav-tabs {
  width: auto;
  white-space: nowrap;
}
.nav-tabs-header .nav-tabs > li {
  display: inline-block;
  float: inherit;
}
.nav-tabs-header.nav-tabs-linetriangle {
  height: 61px;
  overflow-y: hidden;
}
.nav-tabs-header.nav-tabs-linetriangle:after {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  position: relative;
  bottom: 3px;
  z-index: 120;
  content: "";
  clear: both;
}
.nav-tabs-header.nav-tabs-linetriangle ~ .tab-content {
  position: relative;
  top: -12px;
}
.nav-tabs-header ~ .tab-content {
  overflow: hidden;
  padding: 15px;
}
.nav-tab-dropdown .cs-select {
  width: 100% !important;
  max-width: 100%;
}
/* Panel Groups
------------------------------------
*/
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel-heading {
  padding: 13px 18px 10px 22px;
}
.panel-group .panel-heading.collapsed {
  background-color: #fff;
}
.panel-group .panel-heading + .panel-collapse .panel-body {
  border: 0;
}
.panel-group .panel-heading .panel-title {
  width: 100%;
}
.panel-group .panel-heading .panel-title > a {
  color: #626262;
  font-size: 13px;
  font-weight: normal;
  display: block;
  opacity: 1;
}
.panel-group .panel-heading .panel-title > a:hover {
  color: #626262 !important;
}
.panel-group .panel-heading .panel-title > a:hover:after {
  color: #626262 !important;
}
.panel-group .panel-heading .panel-title > a:after {
  font-family: 'FontAwesome';
  content: "\f056";
  position: absolute;
  right: 13px;
  top: 36%;
  color: #626262;
}
.panel-group .panel-heading .panel-title > a.collapsed {
  color: rgba(98, 98, 98, 0.7);
  opacity: 1;
}
.panel-group .panel-heading .panel-title > a.collapsed:after {
  content: "\f055";
  color: rgba(98, 98, 98, 0.7);
}
.panel-group .panel + .panel {
  margin-top: 2px;
}
.panel-group .panel .panel-body {
  height: auto;
}
.nav-pills > li > a {
  color: #626262;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #626262;
  background-color: #e6e6e6;
}
@media (max-width: 767px) {
  .nav.nav-tabs.nav-stack-sm li {
    float: none;
  }
  .nav.nav-tabs.nav-stack-sm.nav-tabs-linetriangle > li.active > a:after,
  .nav.nav-tabs.nav-stack-sm.nav-tabs-linetriangle > li.active > a:before {
    display: none;
  }
}
/*------------------------------------------------------------------
[12. Sliders]
*/
/* Ion Range Slider
https://github.com/IonDen/ion.rangeSlider
--------------------------------------------------
*/
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-bar,
.irs-bar-edge,
.irs-slider {
  background-image: none;
}
.irs-bar {
  background: #f55753;
}
.irs-wrapper .irs-line {
  background-color: #e6e6e6;
}
.irs-wrapper .irs-line-mid,
.irs-wrapper .irs-line-left,
.irs-wrapper .irs-line-right,
.irs-wrapper .irs-diapason,
.irs-wrapper .irs-slider {
  background: none;
}
.irs-wrapper .irs-diapason {
  background-color: #f55753;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.irs-wrapper .irs-from,
.irs-wrapper .irs-to,
.irs-wrapper .irs-single {
  background: #f55753;
}
.irs-wrapper .irs-slider.from:before {
  top: -2%;
  left: 37%;
  width: 16%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  background-color: #f55753;
}
.irs-wrapper .irs-slider.to:before {
  top: -2%;
  left: 37%;
  width: 16%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  background-color: #f55753;
}
.irs-wrapper .irs-slider.single:before {
  top: -2%;
  left: 37%;
  width: 16%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  background-color: #f55753;
}
.irs-wrapper .irs-from:after,
.irs-wrapper .irs-to:after,
.irs-wrapper .irs-single:after {
  border-top-color: #f55753;
}
.irs-wrapper.success .irs-diapason {
  background-color: #10cfbd;
}
.irs-wrapper.success .irs-from,
.irs-wrapper.success .irs-to,
.irs-wrapper.success .irs-single {
  background: #10cfbd;
}
.irs-wrapper.success .irs-slider.from:before {
  background-color: #10cfbd;
}
.irs-wrapper.success .irs-slider.to:before {
  background-color: #10cfbd;
}
.irs-wrapper.success .irs-slider.single:before {
  background-color: #10cfbd;
}
.irs-wrapper.success .irs-from:after,
.irs-wrapper.success .irs-to:after,
.irs-wrapper.success .irs-single:after {
  border-top-color: #10cfbd;
}
.irs-wrapper.success .irs-bar {
  background-color: #10cfbd;
}
.irs-wrapper.primary .irs-diapason {
  background-color: #6d5cae;
}
.irs-wrapper.primary .irs-from,
.irs-wrapper.primary .irs-to,
.irs-wrapper.primary .irs-single {
  background: #6d5cae;
}
.irs-wrapper.primary .irs-slider.from:before {
  background-color: #6d5cae;
}
.irs-wrapper.primary .irs-slider.to:before {
  background-color: #6d5cae;
}
.irs-wrapper.primary .irs-slider.single:before {
  background-color: #6d5cae;
}
.irs-wrapper.primary .irs-from:after,
.irs-wrapper.primary .irs-to:after,
.irs-wrapper.primary .irs-single:after {
  border-top-color: #6d5cae;
}
.irs-wrapper.primary .irs-bar {
  background-color: #6d5cae;
}
.irs-wrapper.warning .irs-diapason {
  background-color: #f8d053;
}
.irs-wrapper.warning .irs-from,
.irs-wrapper.warning .irs-to,
.irs-wrapper.warning .irs-single {
  background: #f8d053;
}
.irs-wrapper.warning .irs-slider.from:before {
  background-color: #f8d053;
}
.irs-wrapper.warning .irs-slider.to:before {
  background-color: #f8d053;
}
.irs-wrapper.warning .irs-slider.single:before {
  background-color: #f8d053;
}
.irs-wrapper.warning .irs-from:after,
.irs-wrapper.warning .irs-to:after,
.irs-wrapper.warning .irs-single:after {
  border-top-color: #f8d053;
}
.irs-wrapper.warning .irs-bar {
  background-color: #f8d053;
}
.irs-wrapper.complete .irs-diapason {
  background-color: #48b0f7;
}
.irs-wrapper.complete .irs-from,
.irs-wrapper.complete .irs-to,
.irs-wrapper.complete .irs-single {
  background: #48b0f7;
}
.irs-wrapper.complete .irs-slider.from:before {
  background-color: #48b0f7;
}
.irs-wrapper.complete .irs-slider.to:before {
  background-color: #48b0f7;
}
.irs-wrapper.complete .irs-slider.single:before {
  background-color: #48b0f7;
}
.irs-wrapper.complete .irs-from:after,
.irs-wrapper.complete .irs-to:after,
.irs-wrapper.complete .irs-single:after {
  border-top-color: #48b0f7;
}
.irs-wrapper.complete .irs-bar {
  background-color: #48b0f7;
}
.irs-wrapper.danger .irs-diapason {
  background-color: #f55753;
}
.irs-wrapper.danger .irs-from,
.irs-wrapper.danger .irs-to,
.irs-wrapper.danger .irs-single {
  background: #f55753;
}
.irs-wrapper.danger .irs-slider.from:before {
  background-color: #f55753;
}
.irs-wrapper.danger .irs-slider.to:before {
  background-color: #f55753;
}
.irs-wrapper.danger .irs-slider.single:before {
  background-color: #f55753;
}
.irs-wrapper.danger .irs-from:after,
.irs-wrapper.danger .irs-to:after,
.irs-wrapper.danger .irs-single:after {
  border-top-color: #f55753;
}
.irs-wrapper.danger .irs-bar {
  background-color: #f55753;
}
/* noUiSlider
http://refreshless.com/nouislider/
--------------------------------------------------
*/
.noUi-target {
  border-radius: 0px;
  border: 0;
  box-shadow: none;
  direction: ltr;
}
.noUi-target.bg-complete .noUi-connect {
  background-color: #48b0f7;
}
.noUi-target.bg-success .noUi-connect {
  background-color: #10cfbd;
}
.noUi-target.bg-warning .noUi-connect {
  background-color: #f8d053;
}
.noUi-target.bg-danger .noUi-connect {
  background-color: #f55753;
}
.noUi-target.bg-info .noUi-connect {
  background-color: #3b4752;
}
.noUi-target.bg-primary .noUi-connect {
  background-color: #6d5cae;
}
.noUi-target.noUi-connect {
  box-shadow: none;
}
.noUi-handle {
  border-radius: 999px;
  box-shadow: none;
}
.noUi-handle:before,
.noUi-handle:after {
  display: none;
}
.noUi-horizontal {
  height: 4px;
}
.noUi-horizontal .noUi-handle {
  width: 18px;
  height: 18px;
  left: -15px;
  border: 1px solid #dbdbdb;
  top: -7px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.noUi-horizontal .noUi-handle:hover {
  border: 1px solid #c0c0c0;
}
.noUi-horizontal .noUi-handle:active {
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  border: 1px solid #dbdbdb;
}
.noUi-horizontal .noUi-handle:focus {
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  border: 1px solid #dbdbdb;
}
.disable-hover-scale .noUi-handle:active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
.disable-hover-scale .noUi-handle:focus {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
.vertical-slider {
  height: 150px;
}
.noUi-vertical {
  width: 4px;
}
.noUi-vertical .noUi-handle {
  width: 18px;
  height: 18px;
  border: 1px solid #dbdbdb;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.noUi-vertical .noUi-handle:hover {
  border: 1px solid #c0c0c0;
}
.noUi-vertical .noUi-handle:active {
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  border: 1px solid #dbdbdb;
}
.noUi-vertical .noUi-handle:focus {
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  border: 1px solid #dbdbdb;
}
.noUi-base {
  padding: 5px 0;
}
.noUi-origin {
  border-radius: 0px;
  bottom: 5px;
}
.noUi-connect {
  box-shadow: none;
}
.noUi-background {
  background: #ececec;
  box-shadow: none;
}
/*------------------------------------------------------------------
[13. Treeview]
*/
span.dynatree-active a {
  color: #2c2c2c !important;
  background-color: transparent !important;
}
span.dynatree-selected a {
  color: #2c2c2c !important;
  font-style: normal;
}
ul.dynatree-container a:focus,
span.dynatree-focused a:link {
  background-color: transparent;
}
ul.dynatree-container {
  background-color: transparent;
}
ul.dynatree-container a:hover {
  color: #626262;
  opacity: 0.7;
  background-color: transparent;
}
ul.dynatree-container a {
  color: #626262;
}
span.dynatree-empty,
span.dynatree-vline,
span.dynatree-connector,
span.dynatree-expander,
span.dynatree-icon,
span.dynatree-checkbox,
span.dynatree-radio,
span.dynatree-drag-helper-img,
#dynatree-drop-marker {
  height: 17px;
  position: relative;
  top: 3px;
}
/*------------------------------------------------------------------
[14. Nesstables]
*/
.dd-handle {
  border-color: rgba(230, 230, 230, 0.7);
  color: #626262;
}
.dd-handle:hover {
  background-color: #fafafa;
}
.dark .dd-handle {
  color: #626262;
  background: #f0f0f0;
}
.dark .dd-handle:hover {
  background-color: #fafafa;
}
.dark .dd-placeholder {
  background-color: #e6e6e6;
}
.dd3-content {
  background: #fff;
  border-color: rgba(230, 230, 230, 0.7);
  color: #626262;
}
.dd3-content:hover {
  background-color: #fafafa;
}
.dd3-handle {
  background: transparent;
  text-indent: 9999px;
}
.dd3-handle:before {
  font-family: 'pages-icon';
  color: #626262;
  content: "\e660";
  font-size: 11px;
  top: 5px;
}
.dd-placeholder {
  background: #f0f0f0;
  border-color: rgba(98, 98, 98, 0.35);
}
.dd-empty {
  background-image: none;
  background: #f0f0f0;
  border-color: rgba(98, 98, 98, 0.5);
}
.dd-item > button {
  font-size: 11px;
}
.dd-item > button:before {
  font-family: 'pages-icon';
  content: "\e63b";
}
.dd-item > button[data-action="collapse"]:before {
  font-family: 'pages-icon';
  content: "\e635";
}
/* Responsive Handlers : Nestables
------------------------------------
*/
@media only screen and (min-width: 700px) {
  .dd {
    width: 100%;
  }
}
/*------------------------------------------------------------------
[15. Form Elements]
*/
label,
input,
button,
select,
textarea {
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
}
input[type="radio"],
input[type="checkbox"] {
  margin-top: 1px 0 0;
  line-height: normal;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
select[multiple],
select[size] {
  height: auto !important;
}
input:focus,
select:focus,
textarea:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
form legend {
  margin: 15px 0px 10px 0px;
}
.form-control {
  background-color: #ffffff;
  background-image: none;
  border: 1px solid rgba(0, 0, 0, 0.07);
  -webkit-appearance: none;
  color: #2c2c2c;
  outline: 0;
  height: 35px;
  padding: 9px 12px;
  line-height: normal;
  font-size: 14px;
  font-weight: normal;
  vertical-align: middle;
  min-height: 35px;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-transition: background 0.2s linear 0s;
  transition: background 0.2s linear 0s;
}
.form-control:focus {
  border-color: rgba(0, 0, 0, 0.1);
  background-color: #f0f0f0;
  outline: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-control:focus::-moz-placeholder {
  color: inherit;
  opacity: 0.7;
}
.form-control:focus:-ms-input-placeholder {
  color: inherit;
  opacity: 0.7;
}
.form-control:focus::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.7;
}
.form-control::-moz-placeholder {
  color: inherit;
  opacity: 0.33;
}
.form-control:-ms-input-placeholder {
  color: inherit;
  opacity: 0.33;
}
.form-control::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.33;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background: #f8f8f8;
  color: rgba(98, 98, 98, 0.23);
}
.form-control.transparent {
  background-color: transparent;
  border-color: transparent;
}
.form-control.transparent:focus {
  background-color: transparent;
  border-color: transparent;
}
/* Input Sizes
--------------------------------------------------
*/
.input-sm,
.form-horizontal .form-group-sm .form-control {
  font-size: 13px;
  min-height: 32px;
  height: 32px;
  padding: 8px 9px;
}
.input-lg,
.form-horizontal .form-group-lg .form-control {
  border-radius: 3px;
  font-size: 18px;
  height: 45px;
  padding: 11px 13px;
}
.input-xlg {
  height: 51px;
  font-size: 18px;
  line-height: 22px;
}
/* Checkboxes and Radio buttons
--------------------------------------------------
*/
.radio,
.checkbox {
  margin-bottom: 10px;
  margin-top: 10px;
  padding-left: 0px;
}
.radio label,
.checkbox label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 25px !important;
  margin-right: 15px;
  font-size: 13px;
}
.radio label:before,
.checkbox label:before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 10px;
  position: absolute;
  left: 0px;
  background-color: #ffffff;
  border: 1px solid #d0d0d0;
}
.radio label {
  margin-bottom: 6px;
}
.radio label:before {
  bottom: 2.5px;
  border-radius: 99px;
  -webkit-transition: border 0.3s 0s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  transition: border 0.3s 0s cubic-bezier(0.455, 0.03, 0.215, 1.33);
}
.radio input[type=radio]:checked + label:before,
.radio input[type=radio]:indeterminate + label:before {
  border-width: 5px;
}
.radio input[type="radio"]:focus + label {
  color: #2c2c2c;
}
.radio input[type="radio"]:focus + label:before {
  background-color: #e6e6e6;
}
.radio input[type=radio] {
  opacity: 0;
  width: 0;
  height: 0;
}
.radio input[type=radio][disabled] + label {
  opacity: 0.65;
}
.radio.radio-success input[type=radio]:checked + label:before {
  border-color: #10cfbd;
}
.radio.radio-primary input[type=radio]:checked + label:before {
  border-color: #6d5cae;
}
.radio.radio-info input[type=radio]:checked + label:before {
  border-color: #3b4752;
}
.radio.radio-warning input[type=radio]:checked + label:before {
  border-color: #f8d053;
}
.radio.radio-danger input[type=radio]:checked + label:before {
  border-color: #f55753;
}
.radio.radio-complete input[type=radio]:checked + label:before {
  border-color: #48b0f7;
}
.checkbox input[type=radio][disabled] + label:after {
  background-color: #e6e6e6;
}
.checkbox label {
  transition: border 0.2s linear 0s, color 0.2s linear 0s;
  white-space: nowrap;
  vertical-align: middle;
}
.checkbox label:before {
  top: 1.4px;
  border-radius: 3px;
  transition: border 0.2s linear 0s, color 0.2s linear 0s;
}
.checkbox label::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 3.2px;
  top: 0px;
  font-size: 11px;
  transition: border 0.2s linear 0s, color 0.2s linear 0s;
}
.checkbox label:after {
  border-radius: 3px;
}
.checkbox input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0;
}
.checkbox.checkbox-circle label:after {
  border-radius: 99px;
}
.checkbox.checkbox-circle label:before {
  border-radius: 99px;
}
.checkbox input[type=checkbox]:checked + label:before {
  border-width: 8.5px;
}
.checkbox input[type=checkbox]:checked + label::after {
  font-family: 'FontAwesome';
  content: "\F00C";
  color: #fff;
}
.checkbox input[type=checkbox]:indeterminate + label:before {
  border-width: 8.5px;
}
.checkbox input[type=checkbox]:indeterminate + label::after {
  font-family: 'FontAwesome';
  content: "\F068";
  color: #fff;
  left: 4.5px;
  top: 1px;
}
.checkbox input[type="checkbox"]:focus + label {
  color: #2c2c2c;
}
.checkbox input[type="checkbox"]:focus + label:before {
  background-color: #e6e6e6;
}
.checkbox input[type=checkbox][disabled] + label {
  opacity: 0.65;
}
.checkbox input[type=checkbox][disabled] + label:before {
  background-color: #eceff3;
}
.checkbox.right label {
  margin-right: 35px;
  padding-left: 0 !important;
}
.checkbox.right label:before {
  right: -35px;
  left: auto;
}
.checkbox.right input[type=checkbox]:checked + label {
  position: relative;
}
.checkbox.right input[type=checkbox]:checked + label::after {
  font-family: 'FontAwesome';
  content: "\F00C";
  position: absolute;
  right: -27px;
  left: auto;
}
.checkbox.right input[type=checkbox]:indeterminate + label {
  position: relative;
}
.checkbox.right input[type=checkbox]:indeterminate + label::after {
  font-family: 'FontAwesome';
  content: "\F068";
  position: absolute;
  right: -27px;
  left: auto;
}
body.rtl .checkbox label::after {
  left: -1.2px;
}
.checkbox.check-success input[type=checkbox]:checked + label:before {
  border-color: #10cfbd;
}
.checkbox.check-primary input[type=checkbox]:checked + label:before {
  border-color: #6d5cae;
}
.checkbox.check-complete input[type=checkbox]:checked + label:before {
  border-color: #48b0f7;
}
.checkbox.check-warning input[type=checkbox]:checked + label:before {
  border-color: #f8d053;
}
.checkbox.check-danger input[type=checkbox]:checked + label:before {
  border-color: #f55753;
}
.checkbox.check-info input[type=checkbox]:checked + label:before {
  border-color: #3b4752;
}
.checkbox.check-success input[type=checkbox]:checked + label::after,
.checkbox.check-primary input[type=checkbox]:checked + label::after,
.checkbox.check-complete input[type=checkbox]:checked + label::after,
.checkbox.check-warning input[type=checkbox]:checked + label::after,
.checkbox.check-danger input[type=checkbox]:checked + label::after,
.checkbox.check-info input[type=checkbox]:checked + label::after {
  color: #ffffff;
}
.input-group-addon:first-child {
  border-right: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.07);
  -webkit-border-top-left-radius: 2px;
  -moz-border-radius-topleft: 2px;
  border-top-left-radius: 2px;
  -webkit-border-bottom-left-radius: 2px;
  -moz-border-radius-bottomleft: 2px;
  border-bottom-left-radius: 2px;
  -webkit-border-top-right-radius: 0;
  -moz-border-radius-topright: 0;
  border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -moz-border-radius-bottomright: 0;
  border-bottom-right-radius: 0;
}
.input-group-addon:last-child {
  border-right: 1px solid rgba(0, 0, 0, 0.07);
  border-left: 0;
  -webkit-border-top-right-radius: 2px;
  -moz-border-radius-topright: 2px;
  border-top-right-radius: 2px;
  -webkit-border-bottom-right-radius: 2px;
  -moz-border-radius-bottomright: 2px;
  border-bottom-right-radius: 2px;
}
.input-group .form-control:first-child {
  -webkit-border-top-right-radius: 0;
  -moz-border-radius-topright: 0;
  border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -moz-border-radius-bottomright: 0;
  border-bottom-right-radius: 0;
}
.input-group.transparent .input-group-addon {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.07);
}
/* Form layouts
--------------------------------------------------
*/
@media only screen and (min-width: 768px) {
  form .row {
    margin-left: 0;
    margin-right: 0;
  }
  form .row [class*='col-']:not(:first-child),
  form .row [class*='col-']:not(:last-child) {
    padding-right: 7px;
    padding-left: 7px;
  }
  form .row [class*='col-']:first-child {
    padding-left: 0;
  }
  form .row [class*='col-']:last-child {
    padding-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  form .row [class*="col-md-"]:not(:first-child),
  form .row [class*="col-md-"]:not(:last-child) {
    padding-right: 0;
    padding-left: 0;
  }
}
/* Form layouts  : Horizontal
--------------------------------------------------
*/
.form-horizontal .form-group {
  border-bottom: 1px solid #e6e6e6;
  padding-top: 19px;
  padding-bottom: 19px;
  margin-bottom: 0;
}
.form-horizontal .form-group:last-child {
  border-bottom: none;
}
.form-horizontal .form-group:hover .control-label {
  opacity: .6;
}
.form-horizontal .form-group.focused .control-label {
  opacity: 1;
}
.form-horizontal .form-group .control-label {
  text-align: left;
  opacity: .42;
  -webkit-transition: opacity ease 0.3s;
  transition: opacity ease 0.3s;
}
/* Form layouts  : Attached
--------------------------------------------------
*/
.form-group-attached .form-group.form-group-default {
  border-radius: 0;
  margin-bottom: 0;
}
.form-group-attached > div {
  margin: 0;
}
.form-group-attached > div:first-child.row > [class*='col-']:first-child .form-group-default {
  -webkit-border-top-left-radius: 2px;
  -moz-border-radius-topleft: 2px;
  border-top-left-radius: 2px;
}
.form-group-attached > div:first-child.row > [class*='col-']:last-child .form-group-default {
  -webkit-border-top-right-radius: 2px;
  -moz-border-radius-topright: 2px;
  border-top-right-radius: 2px;
}
.form-group-attached > div:first-child.form-group-default {
  -webkit-border-top-left-radius: 2px;
  -moz-border-radius-topleft: 2px;
  border-top-left-radius: 2px;
  -webkit-border-top-right-radius: 2px;
  -moz-border-radius-topright: 2px;
  border-top-right-radius: 2px;
}
.form-group-attached > div:last-child.row > [class*='col-']:first-child .form-group-default {
  -webkit-border-bottom-left-radius: 2px;
  -moz-border-radius-bottomleft: 2px;
  border-bottom-left-radius: 2px;
}
.form-group-attached > div:last-child.row > [class*='col-']:last-child .form-group-default {
  -webkit-border-bottom-right-radius: 2px;
  -moz-border-radius-bottomright: 2px;
  border-bottom-right-radius: 2px;
}
.form-group-attached > div:last-child.form-group-default {
  -webkit-border-bottom-left-radius: 2px;
  -moz-border-radius-bottomleft: 2px;
  border-bottom-left-radius: 2px;
  -webkit-border-bottom-right-radius: 2px;
  -moz-border-radius-bottomright: 2px;
  border-bottom-right-radius: 2px;
}
.form-group-attached > div.row > [class*='col-'] {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.form-group-attached > div.row > [class*='col-']:not(:only-child):not(:last-child) > .form-group-default {
  border-right-color: transparent;
}
.form-group-attached > div:not(:last-child) .form-group-default,
.form-group-attached > div:not(:last-child).form-group-default {
  border-bottom-color: transparent;
}
/* Form layouts  : Responsive Handlers
--------------------------------------------------
*/
@media (max-width: 767px) {
  .form-group-attached .form-group-default {
    border-right-color: rgba(0, 0, 0, 0.07) !important;
  }
}
@media only screen and (min-width: 768px) {
  .form-group-attached > div.row > [class*='col-'] .form-group {
    height: 100%;
    width: 100%;
  }
}
/* Form Groups
--------------------------------------------------
*/
.form-group {
  margin-bottom: 10px;
}
.form-group label:not(.error) {
  font-family: 'Montserrat';
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 600;
}
.form-group label .help {
  margin-left: 8px;
}
.form-group .help {
  font-size: 12px;
  color: rgba(98, 98, 98, 0.55);
}
.form-group-default {
  background-color: #fff;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 2px;
  padding-top: 7px;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 4px;
  overflow: hidden;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.form-group-default.required:after {
  color: #f55753;
  content: "*";
  font-family: arial;
  font-size: 20px;
  position: absolute;
  right: 12px;
  top: 6px;
}
.form-group-default.disabled {
  background: #f8f8f8;
  color: rgba(98, 98, 98, 0.23);
}
.form-group-default.disabled input {
  opacity: .6;
}
.form-group-default.disabled.focused {
  background: #f8f8f8;
}
.form-group-default.disabled.focused label {
  opacity: 1;
}
.form-group-default.focused {
  border-color: rgba(0, 0, 0, 0.1) !important;
  background-color: #f0f0f0;
}
.form-group-default.focused label {
  opacity: .4;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.form-group-default.has-error {
  background-color: rgba(245, 87, 83, 0.1);
}
.form-group-default.has-success .form-control-feedback,
.form-group-default.has-error .form-control-feedback {
  display: none !important;
}
.form-group-default.has-success .form-control,
.form-group-default.has-success .form-control:focus,
.form-group-default.has-error .form-control,
.form-group-default.has-error .form-control:focus {
  border: none;
  box-shadow: none;
}
.form-group-default.input-group {
  padding: 0;
}
.form-group-default.input-group > label {
  margin-top: 6px;
  padding-left: 12px;
}
.form-group-default.input-group > label.inline {
  margin-top: 16px;
  float: left;
}
.form-group-default.input-group > .form-control {
  margin-top: -2px;
  margin-bottom: 3px;
  padding-left: 12px;
}
.form-group-default.input-group .input-group-addon {
  height: calc(50px);
  min-width: calc(50px);
  border-radius: 0;
  border: none;
}
.form-group-default.input-group.focused .input-group-addon {
  border-color: rgba(0, 0, 0, 0.1);
}
.form-group-default div.form-control {
  line-height: 25px;
}
.form-group-default .form-control {
  border: none;
  height: 25px;
  min-height: 25px;
  padding: 0;
  margin-top: -4px;
  background: none;
}
.form-group-default .form-control.error {
  color: #2c2c2c;
}
.form-group-default .form-control:focus {
  background: none;
}
.form-group-default textarea.form-control {
  padding-top: 5px;
}
.form-group-default label {
  margin: 0;
  display: block;
  opacity: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.form-group-default label.label-lg {
  font-size: 13px;
  left: 13px;
  top: 9px;
}
.form-group-default label.label-sm {
  font-size: 11px;
  left: 11px;
  top: 6px;
}
.form-group-default label.highlight {
  opacity: 1;
}
.form-group-default label.fade {
  opacity: .5;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.form-group-default > .input-lg {
  height: 29px;
  min-height: 29px;
  padding-left: 1px;
}
.form-group-default > .input-sm {
  min-height: 18px;
  height: 18px;
}
.form-group-default.form-group-default-select {
  overflow: visible;
}
.form-group-default.form-group-default-select .ui-select-container.ui-select-bootstrap.dropdown .ui-select-match {
  padding-top: 6px;
  height: 23px;
}
.form-group-default.form-group-default-select .ui-select-container .select2-choices {
  border: 0px;
}
.form-group-default.form-group-default-select2 {
  padding: 0;
}
.form-group-default.form-group-default-select2 > label {
  position: absolute;
  z-index: 10;
  padding: 7px 12px 0 12px;
}
.form-group-default.form-group-default-select2 > label.label-lg {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-select2 > label.label-sm {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choice {
  padding-top: 20px;
  height: 52px;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choice .select2-arrow b:before {
  top: 20px;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choice .select2-chosen {
  padding-left: 3px;
  padding-top: 1px;
}
.form-group-default.form-group-default-select2 .select2-container .select2-choices {
  padding-top: 20px;
  height: 52px;
  border: 0px;
}
.form-group-default.form-group-default-select2 > .input-lg {
  height: auto;
  padding: 0;
}
.form-group-default.form-group-default-select2 > .input-lg .select2-choice {
  padding-top: 20px;
  height: 56px;
}
.form-group-default.form-group-default-select2 > .input-sm {
  height: auto;
  padding: 0;
}
.form-group-default.form-group-default-select2 > .input-sm .select2-choice {
  padding-top: 20px;
  height: 46px;
}
.form-group-default.form-group-default-selectFx {
  padding: 0;
}
.form-group-default.form-group-default-selectFx > label {
  position: absolute;
  z-index: 10;
  padding: 7px 12px 0 12px;
}
.form-group-default.form-group-default-selectFx > label.label-lg {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-selectFx > label.label-sm {
  left: 0;
  top: 0;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-placeholder {
  padding-top: 28px;
  height: 52px;
  padding-left: 12px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select {
  height: auto;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select > span:after,
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select .cs-selected span:after {
  top: 39px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select.input-lg .cs-placeholder {
  height: 60px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .cs-select.input-sm .cs-placeholder {
  height: 50px;
}
.form-group-default.form-group-default-selectFx .cs-wrapper .dropdown-placeholder {
  vertical-align: top;
}
/* Form validation
--------------------------------------------------
*/
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline {
  color: #0da899;
}
.has-success .form-control {
  border-color: #0da899;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .form-control:focus {
  border-color: #09786e;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
}
.has-success .form-control-feedback {
  color: #0da899;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline {
  color: #c9a843;
}
.has-warning .form-control {
  border-color: #c9a843;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .form-control:focus {
  border-color: #a98b31;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
}
.has-warning .form-control-feedback {
  color: #c9a843;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline {
  color: #f55753;
}
.has-error .form-control {
  border-color: #f55753;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .form-control:focus {
  border-color: #f22823;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
}
.has-error .form-control-feedback {
  color: #f55753;
}
.error {
  font-size: 12px;
  color: #f55753;
  display: block;
}
/* Addon inputs
--------------------------------------------------
*/
.input-group-addon {
  background: #f0f0f0;
  border: 1px solid rgba(0, 0, 0, 0.07);
  color: rgba(98, 98, 98, 0.47);
  font-size: 14px;
  padding: 6px 9px;
  display: table-cell;
  border-radius: 3px;
  transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s, color 0.2s linear 0s, box-shadow 0.2s linear 0s, background 0.2s linear 0s;
}
.input-group-addon i {
  position: relative;
  top: 1px;
}
.input-group-addon.primary {
  background-color: #6d5cae;
  border: 1px solid #6d5cae;
  color: #ffffff;
}
.input-group-addon.primary .arrow {
  color: #6d5cae;
}
.input-group-addon.success {
  background-color: #0090d9;
  color: #ffffff;
}
.input-group-addon.success .arrow {
  color: #0090d9;
}
.input-group-addon.info {
  background-color: #1f3853;
  color: #ffffff;
}
.input-group-addon.info .arrow {
  color: #1f3853;
}
.input-group-addon.warning {
  background-color: #fbb05e;
  color: #ffffff;
}
.input-group-addon.warning .arrow {
  color: #fbb05e;
}
.input-group-addon.danger {
  background-color: #f35958;
  color: #ffffff;
}
.input-group-addon.danger .arrow {
  color: #f35958;
}
.input-group-addon .arrow {
  position: relative;
  right: -6px;
  color: #D1DADE;
  z-index: 100;
}
.input-group-addon .arrow:before {
  font-family: 'FontAwesome';
  content: "\f0da";
  font-size: 23px;
  position: absolute;
  left: 17px;
  top: -2px;
}
.input-group-addon:last-child .arrow:before {
  font-family: 'FontAwesome';
  content: "\f0d9";
  font-size: 23px;
  position: absolute;
  left: -23px;
  top: -2px;
}
.input-group-addon:last-child input {
  border-left: 0px;
}
/* Plugins
--------------------------------------------------
Datepicker
https://github.com/eternicode/bootstrap-datepicker
*/
.datepicker {
  padding: 16px 25px;
  border-radius: 2px;
  font-size: 12px;
}
.datepicker:after {
  border-bottom-color: #fafafa;
}
.datepicker thead tr .datepicker-switch {
  color: #6f7b8a;
  font-size: 13px;
}
.datepicker thead tr .next,
.datepicker thead tr .prev {
  color: #6d5cae;
  content: '';
  font-size: 0px;
}
.datepicker thead tr .next:before,
.datepicker thead tr .prev:before {
  color: #6d5cae;
  font-family: 'FontAwesome';
  font-size: 10px;
}
.datepicker thead tr .prev:before {
  content: "\f053";
}
.datepicker thead tr .next:before {
  content: "\f054";
}
.datepicker thead tr .dow {
  font-family: 'Montserrat';
  color: #6d5cae;
  text-transform: uppercase;
  font-size: 11px;
}
.datepicker thead tr th {
  width: 31px;
  height: 29px;
}
.datepicker tbody tr .odd {
  color: #d0d3d8;
}
.datepicker table tr td {
  width: 31px;
  height: 29px;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #e6e6e6;
}
.datepicker table tr td.day:hover {
  background: #f0f0f0;
}
.datepicker table tr td.active {
  background-color: #6d5cae !important;
}
.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-image: none;
  text-shadow: none;
  font-weight: 600;
}
.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: #f0f0f0;
  background-image: none;
  color: #ffffff;
}
.datepicker table tr td span {
  border-radius: 4px;
  width: 42px;
  height: 42px;
  line-height: 42px;
}
.datepicker table tr td span.active {
  background-color: #6d5cae !important;
}
.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-image: none;
  border: none;
  text-shadow: none;
}
.datepicker.dropdown-menu {
  border-color: #e6e6e6;
  color: #626262;
}
.datepicker.datepicker-dropdown.datepicker-orient-bottom:before {
  border-color: #e6e6e6;
}
.datepicker-inline {
  width: auto;
}
.input-daterange .input-group-addon {
  text-shadow: none;
  border: 0;
}
/* Timepicker
https://github.com/m3wolf/bootstrap3-timepicker
*/
.bootstrap-timepicker-widget table td a i {
  font-size: 12px;
}
.bootstrap-timepicker-widget a.btn,
.bootstrap-timepicker-widget .bootstrap-timepicker-widget input {
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
}
.bootstrap-timepicker-widget.dropdown-menu {
  background: #fff;
}
/* Daterangepicker
http://www.dangrossman.info/
*/
.daterangepicker {
  background: #fff;
}
.daterangepicker .calendar .calendar-date {
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.daterangepicker .calendar .prev,
.daterangepicker .calendar .next,
.daterangepicker .calendar th {
  color: #6d5cae;
  text-transform: uppercase;
  font-size: 11px;
}
.daterangepicker .calendar .month {
  color: #6f7b8a;
  font-size: 13px;
}
.daterangepicker td.active,
.daterangepicker td.active:hover {
  background-color: #6d5cae;
  border-color: #6d5cae;
}
/* Select2
http://ivaynberg.github.io/select2/
*/
.form-group-default .select2-container .select2-choice,
.select2-container-multi .select2-choices {
  border-color: transparent;
}
.select2-container .select2-choice {
  background-image: none;
  border-radius: 2px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  padding: 3px 9px;
  transition: border 0.2s linear 0s;
  height: 35px;
}
.select2-container .select2-choice .select2-arrow {
  right: 0;
  left: auto;
  background: transparent;
  border-left: 0px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.select2-container .select2-choice .select2-arrow b:before {
  font-family: 'FontAwesome';
  content: "\f0d7";
  position: relative;
  top: 2px;
  right: 5px;
  font-size: 12px;
}
.select2-container .select2-choice > .select2-chosen {
  margin-right: 26px;
  margin-left: 0;
}
.select2-container.select2-drop-above .select2-choice {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.select2-search input,
.select2-search-choice-close,
.select2-container .select2-choice abbr,
.select2-container .select2-choice .select2-arrow b {
  background-image: none !important;
}
.select2-dropdown-open.select2-drop-above .select2-choice,
.select2-dropdown-open.select2-drop-above .select2-choices {
  background-image: none !important;
  border: 1px solid rgba(0, 0, 0, 0.07);
  background: #f0f0f0;
}
.select2-dropdown-open .select2-choice .select2-arrow {
  -webkit-transform: scale(scale(1, -1));
  -ms-transform: scale(scale(1, -1));
  transform: scale(scale(1, -1));
}
.select2-drop.select2-drop-above {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  box-shadow: none;
}
.select2-drop.select2-drop-above.select2-drop-active {
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: none;
  border-radius: 2px;
  padding-top: 0px;
}
.select2-container-active .select2-choice,
.select2-container-active .select2-choices {
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.07);
  background: #f0f0f0;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.select2-search {
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
}
.select2-search input {
  background: #ffffff !important;
  vertical-align: baseline;
  line-height: 28px;
  border-radius: 2px;
  border: none;
  font-size: 12px;
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.select2-results {
  margin: 3px 10px 10px 3px;
}
.select2-results li {
  color: #626262;
}
.select2-results li.select2-result-with-children > .select2-result-label {
  color: #2c2c2c;
}
.select2-results li.select2-result-with-children > .select2-result-label:first-child {
  padding-top: 8px;
}
.select2-results .select2-highlighted {
  background: #f0f0f0;
  border-radius: 3px;
}
.select2-results .select2-highlighted .select2-result-label {
  color: #626262;
}
.select2-results .select2-no-results,
.select2-results .select2-searching,
.select2-results .select2-selection-limit {
  background: none;
  color: #626262;
  font-size: 12px;
  padding-left: 8px;
  padding-top: 0px;
  position: relative;
  top: -5px;
}
.select2-drop-active {
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: none;
  border-top: none;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  padding-top: 5px;
  z-index: 790;
}
.select2-container-multi .select2-choices {
  background-image: none;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 2px;
}
.select2-container-multi .select2-choices .select2-search-choice {
  background-color: #e6e6e6;
  background-image: none;
  border: none;
  box-shadow: none;
  color: inherit;
  border-radius: 8px;
  margin: 8px -5px 7px 10px;
  padding: 4px 8px 4px 21px;
}
.select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid rgba(0, 0, 0, 0.07);
  box-shadow: none;
}
.select2-container-multi.select2-container-active .select2-search-choice {
  background-color: #ffffff !important;
}
.select2-container-multi .select2-search-choice-close {
  left: 6px;
}
.select2-search-choice-close {
  background: none;
  top: 4px;
  right: 0;
}
.select2-search-choice-close:hover {
  text-decoration: none;
}
.select2-search-choice-close:before {
  font-family: 'FontAwesome';
  content: "\f00d";
  font-size: 12px;
  color: #626262;
}
.select2-drop-multi .select2-results .select2-no-results,
.select2-drop-multi .select2-results .select2-searching,
.select2-drop-multi .select2-results .select2-selection-limit {
  top: 0px;
}
.select2.form-control {
  padding: 0;
  box-shadow: none;
  border: 0;
}
.select2-drop-mask {
  z-index: 700;
}
.ui-select-bootstrap .ui-select-choices-row.active > a {
  background: #f0f0f0;
  border-radius: 3px;
  color: #626262;
}
.ui-select-bootstrap > .ui-select-choices {
  background-color: #fff;
}
.ui-select-choices-group-label {
  color: #2c2c2c;
  font-weight: bold;
}
.modal-open .select2-drop-active {
  z-index: 1051;
}
.modal-open .datepicker.dropdown-menu {
  z-index: 1051 !important;
}
.modal-open .select2-drop-mask {
  z-index: 1050;
}
.modal-open .cs-skin-slide.cs-active {
  z-index: 1050;
}
.dropdown-placeholder {
  display: inline-block;
  vertical-align: middle;
}
.dropdown-mask {
  bottom: 0;
  display: none;
  left: 0;
  outline: 0 none;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1029;
}
/* Bootstrap Tags input
https://github.com/timschlechter/bootstrap-tagsinput
*/
.form-group-default .bootstrap-tagsinput {
  border: 0px;
  padding-left: 0;
}
.bootstrap-tagsinput {
  background-color: transparent;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 4px;
  padding-bottom: 5px;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 100%;
  -webkit-transition: background 0.2s linear 0s;
  transition: background 0.2s linear 0s;
}
.bootstrap-tagsinput.active-element {
  background-color: #e6e6e6;
}
.bootstrap-tagsinput input {
  border: none;
  margin-bottom: 0px;
  min-height: 25px;
  min-width: 10em !important;
}
.bootstrap-tagsinput .tag {
  vertical-align: middle;
  padding: 6px 9px;
  padding-right: 6px;
  border-radius: 3px;
  line-height: 30px;
}
.bootstrap-tagsinput .tag[data-role="remove"] {
  margin-left: 4px;
}
.bootstrap-tagsinput .tag[data-role="remove"]:hover:active,
.bootstrap-tagsinput .tag [data-role="remove"]:hover {
  box-shadow: none;
}
.bootstrap-tagsinput .tag [data-role="remove"]:after {
  font-family: 'pages-icon';
  content: "\e60a";
  padding: 0;
}
/* Bootstrap3 wysihtml5
https://github.com/Waxolunist/bootstrap3-wysihtml5-bower
*/
.wysiwyg5-wrapper {
  position: relative;
}
.wysiwyg5-wrapper .wysihtml5-toolbar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  /*height: 50px;*/
  background: #f0f0f0;
  border-top: 1px solid #e6e6e6;
}
.wysiwyg5-wrapper .wysihtml5-toolbar .btn {
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
  border-color: transparent;
  border-right-color: #e6e6e6;
  color: #A5A5A5;
  font-size: 16px;
  font-weight: 600;
  height: 50px;
  line-height: 50px;
  padding: 0 5px;
  border-width: 1px;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.wysiwyg5-wrapper .wysihtml5-toolbar .btn:hover .editor-icon {
  opacity: .8;
}
.wysiwyg5-wrapper .wysihtml5-toolbar .btn.active .editor-icon {
  opacity: 1;
}
.wysiwyg5-wrapper .wysihtml5-toolbar .btn.dropdown-toggle {
  padding-left: 10px;
  padding-right: 20px;
}
.wysiwyg5-wrapper .wysihtml5-toolbar .btn.dropdown-toggle .current-font {
  opacity: .5;
  font-size: 14px;
}
.wysiwyg5-wrapper .wysihtml5-toolbar > li {
  margin: 0;
  padding: 0;
}
.wysiwyg5-wrapper .wysiwyg {
  width: 100%;
  min-height: 200px;
  font-size: 14px;
  line-height: 18px;
  padding-bottom: 50px !important;
  border: 0;
}
.wysiwyg5-wrapper .wysiwyg:focus {
  background-color: #fafafa;
  outline: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.wysiwyg5-wrapper .expand-wysiwyg {
  bottom: 0;
  color: #A5A5A5;
  font-size: 20px;
  font-weight: 600;
  height: 50px;
  line-height: 50px;
  padding: 0 15px;
  position: absolute;
  right: 0;
}
.wysiwyg5-wrapper .wysihtml5-sandbox {
  border: none !important;
  padding: 16px 16px 50px !important;
  width: 100% !important;
}
.wysiwyg5-wrapper .wysihtml5-sandbox.expanded {
  height: 100% !important;
}
.toggle-wysiwyg {
  position: absolute;
  right: 15px;
  top: 0;
}
.toggle-wysiwyg li {
  display: inline-block;
  font-weight: 600;
}
.editor-icon {
  background-image: url("../img/editor_tray.png");
  display: inline-block;
  height: 40px;
  margin-top: 5px;
  opacity: 0.4;
  vertical-align: top;
  width: 40px;
}
.editor-icon-headline {
  background-position: 0 0;
  width: 31px;
}
.editor-icon-bold {
  background-position: -40px 0;
}
.editor-icon-italic {
  background-position: -80px 0;
}
.editor-icon-underline {
  background-position: -120px 0;
}
.editor-icon-link {
  background-position: -160px 0;
}
.editor-icon-quote {
  background-position: -200px 0;
}
.editor-icon-ul {
  background-position: -240px 0;
}
.editor-icon-ol {
  background-position: -280px 0;
}
.editor-icon-outdent {
  background-position: -320px 0;
}
.editor-icon-indent {
  background-position: -360px 0;
}
.editor-icon-image {
  background-position: -400px 0;
}
.editor-icon-html {
  background-position: -440px 0;
}
/* Summernote
https://github.com/HackerWins/summernote
*/
.summernote-wrapper .note-editor {
  border-color: #e6e6e6;
}
.summernote-wrapper .note-editor .note-toolbar {
  padding: 0;
  background-color: #f0f0f0;
  border-bottom: none;
}
.summernote-wrapper .note-editor .note-toolbar .btn-group {
  margin: 0 -1px 0 0;
}
.summernote-wrapper .note-editor .note-toolbar .btn-group .btn {
  font-size: 12px;
  font-weight: 600;
  height: 50px;
  min-width: 47px;
  line-height: 50px;
  padding: 0 5px;
  border-radius: 0;
  background-color: #f0f0f0;
  border-color: transparent;
  border-right-color: #e6e6e6;
  border-bottom-color: #e6e6e6;
  color: #626262;
}
.summernote-wrapper .note-editor .note-toolbar .btn-group .btn.active,
.summernote-wrapper .note-editor .note-toolbar .btn-group .btn:active {
  background-color: #e6e6e6;
}
.summernote-wrapper .note-editor .note-toolbar .btn-group .btn.dropdown-toggle {
  min-width: 61px;
}
.summernote-wrapper .note-editor .note-toolbar .btn-group .btn:not(:last-child),
.summernote-wrapper .note-editor .note-toolbar .btn-group .btn:not(:only-child) {
  margin-right: 1px;
}
.summernote-wrapper .note-editor .note-statusbar {
  background-color: transparent;
}
.summernote-wrapper .note-editor .note-statusbar .note-resizebar {
  border-top-color: transparent;
}
.summernote-wrapper .note-editor .note-statusbar .note-resizebar .note-icon-bar {
  border-top: 1px solid #e6e6e6;
}
.summernote-wrapper .note-popover .popover .popover-content .dropdown-menu li a i,
.summernote-wrapper .note-toolbar .dropdown-menu li a i {
  color: #6d5cae;
}
input,
input:focus {
  -webkit-transition: none !important;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
}
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #f0f0f0 inset !important;
}
input.error:-webkit-autofill,
input.error:-webkit-autofill:focus,
.has-error input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #F9E9E9 inset !important;
}
/* Pages SelectFx */
/* Default custom select styles */
div.cs-select {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  position: relative;
  text-align: left;
  background: #fff;
  width: 100%;
  max-width: 500px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
div.cs-select:focus {
  outline: none;
  /* For better accessibility add a style for this in your skin */
}
.cs-select select {
  display: none;
}
.cs-select span {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 1em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Placeholder and selected option */
.cs-select > span {
  padding-right: 3em;
}
.cs-select > span::after,
.cs-select .cs-selected span::after {
  speak: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.cs-select > span::after {
  content: '\25BE';
  right: 1em;
}
.cs-select .cs-selected span::after {
  content: '\2713';
  margin-left: 1em;
}
.cs-select.cs-active > span::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}
/* Options */
.cs-select .cs-options {
  position: absolute;
  overflow: hidden;
  width: 100%;
  background: #fff;
  visibility: hidden;
}
.cs-select.cs-active .cs-options {
  visibility: visible;
}
.cs-select ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.cs-select ul span {
  padding: 1em;
}
.cs-select ul li.cs-focus span {
  background-color: #ddd;
}
/* Optgroup and optgroup label */
.cs-select li.cs-optgroup ul {
  padding-left: 1em;
}
.cs-select li.cs-optgroup > span {
  cursor: default;
}
div.cs-skin-slide {
  color: #fff;
  /*font-size: 1.5em;*/
  width: 300px;
}
@media screen and (max-width: 30em) {
  div.cs-skin-slide {
    font-size: 1em;
    width: 250px;
  }
}
div.cs-skin-slide::before {
  content: '';
  background: #282b30;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}
.cs-skin-slide.cs-active::before {
  -webkit-transform: scale3d(1.1, 3.5, 1);
  transform: scale3d(1.1, 3.5, 1);
}
.cs-skin-slide > span {
  height: 80px;
  line-height: 32px;
  -webkit-transition: text-indent 0.3s, opacity 0.3s;
  transition: text-indent 0.3s, opacity 0.3s;
}
@media screen and (max-width: 30em) {
  .cs-skin-slide > span {
    height: 60px;
    line-height: 28px;
  }
}
.cs-skin-slide.cs-active > span {
  text-indent: -290px;
  opacity: 0;
}
.cs-skin-slide.cs-active > span::after {
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}
.cs-skin-slide .cs-options {
  background: transparent;
  width: 70%;
  height: 400%;
  padding: 1.9em 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 30em) {
  .cs-skin-slide .cs-options {
    padding-top: 3em;
  }
}
.cs-skin-slide .cs-options li {
  opacity: 0;
  -webkit-transform: translate3d(30%, 0, 0);
  transform: translate3d(30%, 0, 0);
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
}
.cs-skin-slide.cs-active .cs-options li {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
.cs-skin-slide.cs-active .cs-options li:first-child {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(4) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(5) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}
/* more options need more delay declaration */
.cs-skin-slide .cs-options li span {
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 65%;
  padding: 0.8em 1em 0.8em 2.5em;
}
.cs-skin-slide .cs-options li span:hover,
.cs-skin-slide .cs-options li.cs-focus span,
.cs-skin-slide .cs-options li.cs-selected span {
  color: #eb7e7f;
  background: transparent;
}
.cs-skin-slide .cs-selected span::after {
  content: '';
}
/* Pages Select  overriding */
.form-group-default .cs-skin-slide > span {
  padding: 0 30px 0 0;
  height: 22px;
  line-height: 21px;
}
.form-group-default .cs-wrapper {
  width: 100%;
  height: 21px;
}
.cs-wrapper {
  display: inline-block;
}
.form-control.cs-select:not(.cs-active) {
  width: 100% !important;
}
.cs-select {
  background-color: transparent;
}
.cs-select span {
  text-overflow: initial;
}
.cs-select .cs-placeholder {
  width: 100%;
}
div.cs-skin-slide {
  width: auto;
  font-family: Arial, sans-serif;
  color: #5e5e5e;
}
div.cs-skin-slide:before {
  background-color: transparent;
}
div.cs-skin-slide.cs-transparent {
  background: none;
}
div.cs-skin-slide.cs-transparent .cs-backdrop {
  border-color: transparent;
  background: none;
}
div.cs-skin-slide.cs-transparent.cs-active .cs-backdrop {
  background: #fafafa;
}
div.cs-skin-slide > span {
  height: 35px;
  padding: 6px 33px 6px 17px;
  line-height: 23px;
  z-index: 1;
}
div.cs-skin-slide.cs-active {
  z-index: 790;
}
div.cs-skin-slide.cs-active:before {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
div.cs-skin-slide.cs-active .cs-backdrop {
  border: transparent;
  background: #fafafa;
  box-shadow: -1px 0 1px #cccccc, 1px 0 1px #cccccc;
}
div.cs-skin-slide > span:after,
div.cs-skin-slide.cs-active > span:after {
  content: "\f0d7";
  font-family: FontAwesome;
  color: #5e5e5e;
}
div.cs-skin-slide .cs-options {
  height: auto;
  padding: 9px 0;
  width: auto;
  padding: 10px;
  max-height: 350px;
  transform: translate3d(1, 1, 1);
  overflow: hidden;
  z-index: 1;
}
div.cs-skin-slide .cs-options ul {
  width: 100%;
  display: table;
}
div.cs-skin-slide .cs-options ul li {
  display: table-row;
}
div.cs-skin-slide .cs-options ul li span {
  display: table-cell;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: normal;
  padding: 5px 0;
  text-transform: none;
  max-height: 350px;
  overflow-y: auto;
}
div.cs-skin-slide .cs-options ul li span:hover,
div.cs-skin-slide .cs-options ul li.cs-focus span,
div.cs-skin-slide .cs-options ul li.cs-selected span {
  color: #2c2c2c;
}
.cs-backdrop {
  background: none repeat scroll 0 0 #fff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(6) {
  transition-delay: 0.3s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(7) {
  transition-delay: 0.35s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(8) {
  transition-delay: 0.4s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(9) {
  transition-delay: 0.45s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(10) {
  transition-delay: 0.5s;
}
.cs-skin-slide.cs-active .cs-options li:nth-child(11) {
  transition-delay: 0.55s;
}
.twitter-typeahead {
  width: 100%;
}
.tt-menu {
  width: 100%;
  padding: 3px 10px 3px 3px;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-top: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.tt-suggestion {
  color: #626262;
  padding: 3px 7px 4px;
  padding-left: 26px;
  line-height: 24px;
}
.tt-suggestion:hover {
  cursor: pointer;
  background: #f0f0f0;
}
.tt-suggestion.tt-cursor {
  background: #f0f0f0;
}
.tt-suggestion p {
  margin: 0;
}
.form-group-default.typehead {
  overflow: inherit;
}
.form-group-default .tt-menu {
  width: calc(100% + 24px);
  margin: 4px -12px;
}
/* Dropzone for Angular */
.dropzone[dropzone="dropzone"] input[type="file"] {
  visibility: hidden;
}
/* end overrides */
/* Demo specifc classes */
.demo-form-wysiwyg {
  height: 250px;
}
/*------------------------------------------------------------------
[17. Charts]
*/
.line-chart .nvd3 line.nv-guideline {
  /* Vertical bar on hover in interactive chart */
  stroke-width: 30px;
  stroke-opacity: .04;
  stroke: #000;
}
.line-chart .nvd3 .nv-groups path.nv-area {
  /*  filled area */
  fill-opacity: .1;
}
.line-chart .nvd3 .nv-groups path.nv-line {
  /*  Line */
  stroke-opacity: .3;
}
.line-chart .nvd3 .nv-axis line {
  /*  grid lines */
  stroke-opacity: .5;
}
.line-chart[data-x-grid="false"] .nv-x .tick line {
  display: none;
}
.line-chart[data-y-grid="false"] .nv-y .tick line {
  display: none;
}
.line-chart .domain {
  /* domain */
  opacity: 0;
}
.line-chart[data-points="true"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  /* Toggle points */
  fill-opacity: 1;
  stroke-opacity: .5;
}
.line-chart .nvtooltip table td.legend-color-guide div {
  border-radius: 100px;
}
.line-chart thead .nv-pointer-events-none strong {
  color: #afafaf;
}
.line-chart .nv-pointer-events-none {
  font-size: 12px;
}
.line-chart .nv-pointer-events-none .value.nv-pointer-events-none {
  font-family: 'Montserrat';
  font-weight: normal;
  font-size: 11px;
  color: #afafaf;
}
.line-chart .nvtooltip table {
  margin: 12px 10px 14px 15px;
}
.line-chart .nvtooltip.xy-tooltip.nv-pointer-events-none {
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.line-chart[data-stroke-width="1"] .nvd3 .nv-groups path.nv-line {
  /* Line widths */
  stroke-width: 1px;
}
.line-chart[data-stroke-width="1"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  /* Line widths */
  stroke-width: 2px;
}
.line-chart[data-stroke-width="2"] .nvd3 .nv-groups path.nv-line {
  stroke-width: 2px;
}
.line-chart[data-stroke-width="2"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke-width: 3px;
}
.line-chart[data-stroke-width="3"] .nvd3 .nv-groups path.nv-line {
  stroke-width: 3px;
}
.line-chart[data-stroke-width="3"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke-width: 4px;
}
.line-chart .tick text,
.line-chart .nvd3 .nv-axis .nv-axisMaxMin text {
  fill: rgba(98, 98, 98, 0.5);
  font-family: "Montserrat";
  font-size: 11px;
  text-transform: uppercase;
  font-weight: normal;
}
.line-chart .nvd3.nv-scatter .nv-groups .nv-point.hover,
.line-chart .nvd3 .nv-groups .nv-point.hover {
  fill: inherit !important;
  stroke: inherit !important;
}
/* Line widths
------------------------------------
*/
.line-chart[data-line-color="master"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="master"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="master"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #626262;
}
.line-chart[data-line-color="success"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="success"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="success"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #10cfbd;
}
.line-chart[data-line-color="primary"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="primary"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="primary"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #6d5cae;
}
.line-chart[data-line-color="info"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="info"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="info"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #3b4752;
}
.line-chart[data-line-color="complete"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="complete"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="complete"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #48b0f7;
}
.line-chart[data-line-color="warning"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="warning"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="warning"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #f8d053;
}
.line-chart[data-line-color="danger"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="danger"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="danger"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #f55753;
}
.line-chart[data-line-color="white"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="white"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="white"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #fff;
}
.line-chart[data-line-color="black"] .nvd3 line.nv-guideline,
.line-chart[data-line-color="black"] .nvd3 .nv-groups path.nv-line,
.line-chart[data-line-color="black"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke: #000;
}
/* Area Fill colors
------------------------------------
*/
.line-chart[data-area-color="master"] .nvd3 .nv-groups path.nv-area {
  fill: #626262;
}
.line-chart[data-area-color="success"] .nvd3 .nv-groups path.nv-area {
  fill: #10cfbd;
}
.line-chart[data-area-color="info"] .nvd3 .nv-groups path.nv-area {
  fill: #3b4752;
}
.line-chart[data-area-color="complete"] .nvd3 .nv-groups path.nv-area {
  fill: #48b0f7;
}
.line-chart[data-area-color="primary"] .nvd3 .nv-groups path.nv-area {
  fill: #6d5cae;
}
.line-chart[data-area-color="warning"] .nvd3 .nv-groups path.nv-area {
  fill: #f8d053;
}
.line-chart[data-area-color="danger"] .nvd3 .nv-groups path.nv-area {
  fill: #f55753;
}
.line-chart[data-area-color="white"] .nvd3 .nv-groups path.nv-area {
  fill: #fff;
}
.line-chart[data-area-color="black"] .nvd3 .nv-groups path.nv-area {
  fill: #000;
}
/* Point fill colors
------------------------------------
*/
.line-chart[data-point-color="master"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #626262;
}
.line-chart[data-point-color="success"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #10cfbd;
}
.line-chart[data-point-color="info"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #3b4752;
}
.line-chart[data-point-color="complete"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #48b0f7;
}
.line-chart[data-point-color="primary"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #6d5cae;
}
.line-chart[data-point-color="warning"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #f8d053;
}
.line-chart[data-point-color="danger"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #f55753;
}
.line-chart[data-point-color="white"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  fill: #fff;
}
#nvd3-line svg,
#nvd3-line2 svg,
#nvd3-area svg {
  height: 500px;
}
/* Rickshaw Charts
------------------------------------
*/
.rickshaw-chart.rickshaw_graph .detail {
  padding-left: 15px;
  transform: translateX(-15px);
  width: 30px;
  background: rgba(0, 0, 0, 0.04);
  right: -15px;
}
.rickshaw-chart.rickshaw_graph .detail .item,
.rickshaw-chart.rickshaw_graph .detail .x_label {
  transform: translateX(15px);
}
.rickshaw-chart.rickshaw_graph .detail .item {
  width: 170px;
}
.rickshaw-chart.rickshaw_graph .detail:after {
  content: "";
  width: 1px;
  background: rgba(0, 0, 0, 0.2);
  height: 100%;
  display: block;
}
.rickshaw-chart .y_grid .tick.major line {
  stroke-dasharray: 3px, 5px;
  opacity: .7;
}
.rickshaw-chart.rickshaw_graph .detail .x_label {
  display: none;
}
.rickshaw-chart.rickshaw_graph .detail .item {
  line-height: 1.4;
  padding: 0.5em;
}
.rickshaw-chart.rickshaw_graph .detail_swatch {
  float: right;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px 0 0;
}
.rickshaw-chart.rickshaw_graph .detail .date {
  font-size: 11px;
  color: #a0a0a0;
  opacity: .5;
}
#tab-rickshaw-realtime #rickshaw-realtime_y_axis {
  position: absolute;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
  bottom: 0;
  width: 40px;
  left: 0;
  z-index: 1;
}
#tab-rickshaw-realtime #rickshaw-realtime_y_axis .rickshaw_graph .y_ticks path,
#tab-rickshaw-realtime #rickshaw-realtime_y_axis .rickshaw_graph .x_ticks_d3 path {
  fill: none;
  stroke: none;
}
#tab-rickshaw-realtime #rickshaw-realtime_y_axis .rickshaw_graph .y_ticks text,
#tab-rickshaw-realtime #rickshaw-realtime_y_axis .rickshaw_graph .x_ticks_d3 text {
  opacity: 0.35;
  font-family: 'Montserrat';
  font-size: 11px;
}
#tab-rickshaw-bars #rickshaw-stacked-bars.rickshaw_graph .detail .dot {
  border-radius: 50px;
}
#tab-rickshaw-bars #rickshaw-stacked-bars.rickshaw_graph .detail .x_label {
  display: none;
}
#tab-rickshaw-bars #rickshaw-stacked-bars.rickshaw_graph .detail .item {
  line-height: 1.4;
  padding: 0.5em;
}
#tab-rickshaw-bars #rickshaw-stacked-bars .detail_swatch {
  float: right;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px 0 0;
}
#tab-rickshaw-bars #rickshaw-stacked-bars.rickshaw_graph .detail .date {
  font-size: 11px;
  color: #a0a0a0;
  opacity: .5;
}
#tab-rickshaw-slider #rickshaw-slider {
  height: 500px;
}
#tab-rickshaw-slider .rickshaw_graph .x_grid_d3 .tick {
  stroke-opacity: 0;
}
#tab-rickshaw-slider .rickshaw_graph .y_ticks path,
#tab-rickshaw-slider .rickshaw_graph .x_ticks_d3 path {
  stroke: none;
}
#tab-rickshaw-slider .rickshaw_graph .y_ticks text,
#tab-rickshaw-slider .rickshaw_graph .x_ticks_d3 text {
  font-family: 'Montserrat';
  font-size: 11px;
}
#tab-rickshaw-slider .rickshaw_range_slider_preview .frame {
  opacity: 0;
}
#tab-rickshaw-slider .rickshaw_range_slider_preview .left_handle,
#tab-rickshaw-slider .rickshaw_range_slider_preview .right_handle {
  fill: #000;
  fill-opacity: 0.1 !important;
}
#tab-rickshaw-slider .slider {
  position: absolute;
  top: 0;
  height: 93px;
  overflow: hidden;
}
#tab-rickshaw-slider .chart {
  position: absolute;
  bottom: 40px;
  top: 150px;
  left: 33px;
  right: 0;
  width: auto;
}
#tab-rickshaw-slider .chart .x_tick.plain .title {
  font-family: 'Montserrat';
  font-size: 11px;
}
#tab-rickshaw-slider .y_axis {
  bottom: 0;
  position: absolute;
  top: 150px;
  width: 40px;
  left: -6px;
}
#tab-rickshaw-slider .rickshaw_graph .x_tick {
  border-color: transparent;
}
#tab-rickshaw-slider .rickshaw_graph .x_tick .title {
  bottom: -24px;
  left: -15px;
}
/*------------------------------------------------------------------
[18. List]
*/
.list-view-wrapper {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
.list-view-container {
  position: relative;
}
.list-view-container .list-quickscroll ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 10px;
  z-index: 120;
  padding-top: 10px;
  padding-bottom: 10px;
}
.list-view-container .list-quickscroll ul li a {
  font-size: 0.7em;
  vertical-align: baseline;
}
.list-view-group-container {
  margin: 0;
  min-height: 1px;
  overflow: hidden;
  padding: 26px 0 0 0;
  position: relative;
}
.list-view-group-container:last-child ul {
  border: 0;
}
.list-view-group-header,
.list-view-fake-header {
  background: #fafafa;
  color: #232830;
  font: normal 11px/14px 'Montserrat', Arial;
  text-transform: uppercase;
  margin: 0;
  padding: 6px 0 5px 15px;
  position: absolute;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  z-index: 10;
}
.list-view-group-header {
  bottom: auto;
  min-height: 1px;
  top: 0;
  width: 100%;
  border-top: 0;
}
.list-view-fake-header {
  width: 100%;
  z-index: 100;
  font-size: 11px !important;
  line-height: 14px !important;
}
.list-view-fake-header.list-view-hidden {
  visibility: hidden;
}
.list-view-group-container.list-view-animated .list-view-group-header {
  bottom: 0;
  top: auto;
}
input.list-view-search {
  font-size: 15px;
  color: #232830;
}
.no-top-border .list-view-fake-header {
  border-top: 0;
}
.list-view ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.list-view li {
  padding-left: 15px;
  white-space: nowrap;
  cursor: pointer;
  width: 100%;
  display: table;
}
.list-view li:hover {
  background-color: #daeffd;
}
.list-view li.active {
  background-color: #fef6dd;
}
.list-view li p {
  margin: 0;
  line-height: 19px;
}
.list-view li > a {
  margin-right: 15px;
  display: table;
  width: 100%;
}
.list-view.boreded li > a {
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.list-view.boreded li:last-child > a {
  border-bottom: 0;
}
.list-view.boreded li + li {
  border-top: 0;
}
[data-ios="true"] .list-view-group-header,
[data-ios="true"] .list-view-fake-header {
  width: 288px;
  /*scrollbars aren't visible in iOS devices, so make the headers wider */
}
.list-group-item {
  border: 1px solid #f0f0f0;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  background-color: #40d9ca;
  border-color: #40d9ca;
}
.list-group-item:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.list-group-item:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
/*------------------------------------------------------------------
[20. Email App]
*/
/* Email Components 
--------------------------------------------------
*/
.compose-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50px;
  background: #ffffff;
  border-top: 1px solid #f0f0f0;
  z-index: 101;
}
.compose-wrapper .compose-email {
  font-size: 24px;
}
.email-composer {
  margin-left: 250px;
  position: relative;
  overflow: auto;
  height: 100%;
  background: #fff;
}
.email-composer .email-toolbar-wrapper .wysihtml5-toolbar {
  background: #f0f0f0;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
  border-top: none;
}
.email-composer .email-body-wrapper {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 20px;
}
.email-composer .bootstrap-tagsinput {
  margin: 0;
  padding: 0;
}
.email-composer > .row {
  margin-left: -30px;
  margin-right: -30px;
}
.split-view .split-details .email-content-wrapper {
  background: #fff;
  height: 100%;
  width: auto;
  overflow: auto;
}
.split-view .split-details .email-content-wrapper .actions-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 50px;
  z-index: 799;
}
.split-view .split-details .email-content-wrapper .email-content {
  margin: 0 auto;
  width: 600px;
  display: block;
  padding-top: 62px;
  padding-bottom: 70px;
  padding-left: 20px;
  padding-right: 20px;
}
.split-view .split-details .email-content-wrapper .email-content .email-content-header .sender .name {
  font-size: 15px;
  color: #3b4752;
}
.split-view .split-details .email-content-wrapper .email-content .email-content-header .sender .datetime {
  color: #626262;
  opacity: .45;
  font-family: arial;
}
.split-view .split-details .email-content-wrapper .email-content .email-content-header .subject {
  font-family: arial;
  color: #3b4752;
  font-size: 15.2px;
  line-height: 17px;
}
.split-view .split-details .email-content-wrapper .email-content .email-content-header .fromto .btn-xs {
  border-radius: 13px;
}
.split-view .split-details .email-content-wrapper .email-content .email-content-body p {
  line-height: 23px;
  color: #626262;
  letter-spacing: 0.001em;
}
.split-view .split-details .email-content-wrapper .email-content .email-reply {
  min-height: 200px;
}
.split-view .split-details .email-content-wrapper .email-content .editor-wrapper {
  border: 1px solid rgba(0, 0, 0, 0.05);
}
.split-view .split-details .email-content-wrapper .email-content .editor-wrapper .wysihtml5-sandbox {
  max-height: 150px;
  min-height: 130px !important;
  width: 100% !important;
}
/* Email App Top Header 
--------------------------------------------------
*/
.header-wrapper-email {
  font-size: 14.92px;
}
.header-wrapper-email .dropdown > .btn {
  color: #48b0f7;
}
.header-wrapper-email .btn:hover {
  text-decoration: none;
}
/* Responsive Handler : Email App 
--------------------------------------------------
*/
@media (max-width: 1024px) {
  .email-composer {
    margin-left: 0;
  }
}
/*------------------------------------------------------------------
[21. Calendar App]
*/
body.overflow-hidden {
  overflow: hidden;
}
/*
Calendar
--------------------------------------------------
Header / .calendar-header
Years / .years .year
Months / .months
Weeks / .weeks-wrapper .week
Grid / .calendar-container
Events / .event-container
*/
.calendar {
  height: 100%;
}
.calendar .drager {
  overflow: hidden;
}
.calendar .drager .scroll-element {
  display: none;
}
.calendar.month {
  padding-left: 5px;
}
.calendar.month .options .date {
  margin-bottom: 22px;
}
.calendar.month .week-dragger {
  display: none;
}
.calendar.month .calendar-container {
  border-top: 1px solid #e6e6e6;
  padding-top: 0;
  height: calc(100% - 169px);
}
.calendar.month .calendar-container .view .tble {
  width: 100%;
}
.calendar.month .calendar-container .view .tble .thead .tcell .weekday {
  margin-left: 10px;
}
.calendar .calendar-header {
  height: 43px;
  background-color: #fafafa;
  line-height: 43px;
  padding-left: 60px;
}
.calendar .calendar-header > .drager {
  width: calc(100% - 141px);
  border-right: 1px solid rgba(0, 0, 0, 0.33);
  line-height: 35px;
}
.calendar .calendar-header .years {
  width: auto;
  list-style: none;
  white-space: nowrap;
  margin-top: 5px;
}
.calendar .calendar-header .years .year {
  display: inline-block;
  width: 69px;
  text-align: center;
  white-space: nowrap;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.calendar .calendar-header .years .year > a {
  color: rgba(0, 0, 0, 0.5);
  position: relative;
}
.calendar .calendar-header .years .year > a.active {
  color: #000;
}
.calendar .calendar-header .years .year > a.has-event:before {
  position: absolute;
  content: '\25CF';
  width: 100%;
  font-size: 8px;
  line-height: 6px;
  text-align: center;
  color: rgba(0, 0, 0, 0.44);
}
.calendar .options {
  padding-left: 60px;
  margin-top: 15px;
}
.calendar .options .months {
  width: auto;
  white-space: nowrap;
  height: 43px;
  line-height: 43px;
}
.calendar .options .months .month {
  min-width: 30px;
  max-width: 100px;
  padding: 0 10px;
  display: inline-block;
}
.calendar .options .months .month > a {
  position: relative;
  color: rgba(0, 0, 0, 0.28);
}
.calendar .options .months .month > a:hover {
  color: rgba(0, 0, 0, 0.33);
}
.calendar .options .months .month > a.active {
  color: #000000;
}
.calendar .options .months .month > a.has-event:before {
  position: absolute;
  content: '\25CF';
  top: -6px;
  width: 100%;
  font-size: 8px;
  line-height: 6px;
  text-align: center;
  color: rgba(0, 0, 0, 0.33);
}
.calendar .options .date {
  margin-bottom: 20px;
}
.calendar .week-dragger {
  border-bottom: 1px solid #e6e6e6;
  margin-left: -20px;
}
.calendar .weeks-wrapper {
  width: auto;
  white-space: nowrap;
  padding-left: 10px;
  padding-bottom: 12px;
  margin-bottom: 5px;
  margin-left: 20px;
}
.calendar .weeks-wrapper .week {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  padding-right: 30px;
}
.calendar .weeks-wrapper .week:first-child {
  padding-left: 4px;
}
.calendar .weeks-wrapper .week:last-child {
  padding-left: 0px;
}
.calendar .weeks-wrapper .week:before {
  content: '';
  position: absolute;
  right: -20px;
  bottom: 6px;
  height: 20px;
  width: 20px;
  border-left: 1px dotted rgba(0, 0, 0, 0.3);
}
.calendar .weeks-wrapper .week.active .day-wrapper .week-date .day > a {
  color: rgba(0, 0, 0, 0.6);
}
.calendar .weeks-wrapper .week .day-wrapper {
  display: inline-block;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date {
  text-align: center;
  width: 21px;
  height: 21px;
  margin: 6px;
  border-radius: 99px;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date.current-date {
  background-color: #e6e6e6;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date.active {
  background-color: #10cfbd;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date.active .day > a {
  font-weight: bold;
  opacity: 1;
  color: #fff;
}
.calendar .weeks-wrapper .week .day-wrapper .week-date .day > a {
  letter-spacing: -0.01em;
}
.calendar .weeks-wrapper .week .day-wrapper .week-day {
  text-align: center;
}
.calendar .weeks-wrapper .week .day-wrapper .day {
  display: inline-block;
  text-align: center;
  position: relative;
  z-index: 10;
  padding: 1px 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.3);
}
.calendar .weeks-wrapper .week .day-wrapper .day > a {
  position: relative;
  width: 100%;
  display: block;
  text-align: center;
  color: rgba(0, 0, 0, 0.3);
  opacity: 0.7;
  font-weight: 600;
}
.calendar .weeks-wrapper .week .day-wrapper .day > a.has-event:before {
  position: absolute;
  content: '\25CF';
  top: -10px;
  width: 100%;
  font-size: 8px;
  line-height: 6px;
  text-align: center;
  color: #10cfbd;
}
.calendar .weeks-wrapper .week .day-wrapper .day.week-header {
  text-transform: uppercase;
  text-align: center;
  font-family: 'Montserrat';
  font-size: 10px;
}
.calendar .calendar-container {
  position: relative;
  height: calc(100% - 200px);
  padding-top: 10px;
}
.calendar .calendar-container .view {
  width: 100%;
  height: 100%;
  white-space: nowrap;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell {
  position: relative;
  height: 20%;
  clear: both;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .cell-inner .holder {
  position: absolute;
  top: 37px;
  left: 0;
  right: 0;
  bottom: 0;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell.active {
  background: #fff;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell.active .cell-inner {
  background-color: #fef8e7;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell.not {
  background-color: #fafafa;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell.drop-target .cell-inner {
  background-color: #fafafa;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .cell-inner:only-child,
.calendar .calendar-container .view.month-view .tble .trow .tcell .cell-inner {
  height: 100%;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .month-date {
  position: relative;
  text-align: center;
  margin-top: 10px;
  margin-right: 6px;
  width: 25px;
  height: 25px;
  padding-top: 2px;
  margin: 6px;
  float: right;
  display: block;
  z-index: 1;
  border-radius: 99px;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .month-date.current-date {
  background-color: #e6e6e6;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .month-date.active {
  background-color: #10cfbd;
  font-weight: bold;
  opacity: 1;
  color: #fff;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .event-container {
  height: 30px;
  position: relative !important;
  min-height: 30px !important;
}
.calendar .calendar-container .view.month-view .tble .trow .tcell .event-container .event-inner {
  padding: 8px;
}
.calendar .calendar-container .view.month-view .ghost-element {
  height: 30px;
  position: relative;
  width: 100%;
}
.calendar .calendar-container .view.month-view .grid .tble {
  height: 100%;
  width: 100%;
}
.calendar .calendar-container .view.month-view .event-container .event-title {
  font-size: 12px;
}
.calendar .calendar-container .view.day-view .tble {
  white-space: nowrap;
}
.calendar .calendar-container .view.day-view .tble .thead {
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
}
.calendar .calendar-container .view.day-view .tble .tcell {
  display: none;
  max-width: 100%;
  width: 100%;
}
.calendar .calendar-container .view.day-view .tble .tcell.active {
  display: inline-block;
}
.calendar .calendar-container .view.day-view .tble .trow {
  display: block;
  height: 80px;
}
.calendar .calendar-container .view.day-view .tble .trow .tcell.active {
  background-color: #fff;
}
.calendar .calendar-container .view .tble {
  display: inline-table;
  width: calc(100% - 50px);
  vertical-align: top;
  position: relative;
}
.calendar .calendar-container .view .tble .thead {
  display: table-row;
  width: 100%;
  background: #fff;
}
.calendar .calendar-container .view .tble .thead .tcell {
  padding: 10px;
  height: 40px;
  position: relative;
}
.calendar .calendar-container .view .tble .thead .tcell .weekday {
  font-size: 12px;
  display: inline-block;
  color: rgba(0, 0, 0, 0.51);
}
.calendar .calendar-container .view .tble .thead .tcell .weekdate {
  font-size: 14px;
  display: inline-block;
  margin-right: 10px;
  color: rgba(0, 0, 0, 0.77);
}
.calendar .calendar-container .view .tble .thead .tcell.active .weekdate,
.calendar .calendar-container .view .tble .thead .tcell.active .weekday {
  color: #000000;
}
.calendar .calendar-container .view .tble .thead .tcell:before {
  content: '';
  border-bottom: 1px solid #e6e6e6;
  width: calc(100% - 18px);
  position: absolute;
  bottom: 0;
}
.calendar .calendar-container .view .tble .thead .tcell .event-bubble {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 5px;
  float: right;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
}
.calendar .calendar-container .view .tble .tcell {
  display: table-cell;
  height: 80px;
  max-width: 14.2857%;
  width: 14.2857%;
}
.calendar .calendar-container .view .tble .trow {
  display: table-row;
}
.calendar .calendar-container .view .tble .trow .tcell {
  background: #fff;
  padding: 0 10px;
}
.calendar .calendar-container .view .tble .trow .tcell .cell-inner {
  height: 40px;
  position: relative;
}
.calendar .calendar-container .view .tble .trow .tcell .cell-inner:first-child {
  border-bottom: 1px dotted #e6e6e6;
}
.calendar .calendar-container .view .tble .trow .tcell .cell-inner:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.calendar .calendar-container .view .tble .trow .tcell .cell-inner:only-child {
  height: 40px;
  border-bottom: 0;
}
.calendar .calendar-container .view .tble .trow .tcell.active {
  background-color: #fef8e7;
}
.calendar .calendar-container .view .tble .trow .tcell.active > * {
  border-color: rgba(0, 0, 0, 0.1) !important;
}
.calendar .calendar-container .view .tble .trow .tcell.disable {
  background-color: #fafafa;
}
.calendar .calendar-container .view .tble .loading {
  left: 10px;
}
.calendar .calendar-container .loading {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 100;
}
.calendar .calendar-container .pgn-wrapper {
  position: absolute;
}
.calendar .calendar-container .even-holder {
  position: absolute;
  display: table;
  width: calc(100% - 50px);
  width: 100% \0;
  height: calc(100% - 25px);
}
.calendar .calendar-container .even-holder .event-placeholder {
  height: 100%;
  width: 14.2857%;
  display: table-cell;
}
.calendar .calendar-container .event-container {
  width: 100%;
  height: 40px;
  position: absolute !important;
  z-index: 10;
  overflow: hidden;
  margin-bottom: 5px;
  min-height: 40px !important;
  -webkit-transition: width 0.16s ease;
  transition: width 0.16s ease;
}
.calendar .calendar-container .event-container .event-inner {
  padding: 15px;
}
.calendar .calendar-container .event-container .event-inner:before {
  position: absolute;
  width: 8px;
  height: 8px;
  content: '';
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  right: 14px;
  top: 11px;
}
.calendar .calendar-container .event-container .time-wrap {
  line-height: 12px;
  text-align: left;
  color: rgba(0, 0, 0, 0.77);
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar .calendar-container .event-container .event-start-time,
.calendar .calendar-container .event-container .event-end-time {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.44);
}
.calendar .calendar-container .event-container .event-title {
  font-size: 14px;
  line-height: 15px;
  margin-bottom: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar .calendar-container .event-container .resizable-handle {
  position: absolute;
  opacity: 1;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}
.calendar .calendar-container .event-container .resizable-handle:after {
  content: "=";
  color: rgba(0, 0, 0, 0.44);
}
.calendar .calendar-container .event-container.dragging {
  z-index: 100;
}
.calendar .calendar-container .grid {
  display: block;
  overflow: scroll;
  height: calc(100% - 40px);
  -webkit-overflow-scrolling: touch;
}
.calendar .calendar-container .grid.slot-60 .tble .trow .tcell .cell-inner {
  height: 80px;
  border-bottom: 1px solid #e6e6e6;
}
.calendar .calendar-container .grid.slot-15 .tble .trow .tcell {
  height: 25px;
}
.calendar .calendar-container .grid.slot-15 .tble .trow .tcell .cell-inner {
  height: 25px;
  border-bottom: 1px dotted #e6e6e6;
}
.calendar .calendar-container .grid.slot-15 .tble .trow .tcell .cell-inner:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.calendar .calendar-container .grid.slot-15 .time-slot-wrapper .time-slot {
  height: 100px;
}
.calendar .calendar-container .allday-cell {
  height: 40px;
  display: inline-block;
  width: 50px;
  float: left;
}
.calendar .time-slot-wrapper {
  display: inline-block;
  width: 50px;
  float: left;
  height: 100%;
}
.calendar .time-slot-wrapper .time-slot {
  display: block;
  height: 80px;
  width: 100%;
  background: #fff;
}
.calendar .time-slot-wrapper .time-slot:first-child span {
  display: none;
}
.calendar .time-slot-wrapper .time-slot > span {
  float: right;
  position: relative;
  top: -15%;
  color: rgba(0, 0, 0, 0.46);
  font-weight: bold;
  font-size: 12px;
  right: 5px;
}
.calendar-event {
  width: 330px;
  right: -330px;
}
.calendar-event .scrollable {
  height: 100%;
}
.date-selector {
  cursor: pointer;
}
/*
Responsive Util
*/
@media (max-width: 991px) {
  .calendar {
    background-color: #fff;
  }
  .calendar .calendar-header {
    display: none;
  }
  .calendar .options {
    margin-top: 0;
    padding-left: 10px;
  }
  .calendar .options .months {
    line-height: 21px;
    padding-top: 14px;
  }
  .calendar .options .date {
    margin-bottom: 10px;
  }
  .calendar .calendar-container {
    height: 100%;
  }
  .calendar .calendar-container .view.week-view .tble {
    white-space: nowrap;
  }
  .calendar .calendar-container .view.week-view .tble .thead {
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
  }
  .calendar .calendar-container .view.week-view .tble .tcell {
    display: none;
    max-width: 100%;
    width: 100%;
  }
  .calendar .calendar-container .view.week-view .tble .tcell.active {
    display: inline-block;
    background-color: #fff;
  }
  .calendar .calendar-container .view.week-view .tble .trow {
    display: block;
    height: 80px;
  }
  .calendar .calendar-container .view.month-view .allday-cell {
    display: none;
  }
  .calendar .calendar-container .view.month-view .grid .tble {
    padding-left: 0;
  }
  .calendar .calendar-container .view.month-view .tble .thead .tcell {
    padding: 3px;
    padding-top: 10px;
  }
  .calendar .calendar-container .view.month-view .tble .trow .tcell {
    padding: 0 6px;
  }
  .calendar .calendar-container .view.month-view .tble .trow .tcell .event-container {
    border-radius: 99px;
    -webkit-border-radius: 99px;
    -moz-border-radius: 99px;
    position: absolute !important;
    height: 16px !important;
    width: 16px !important;
    min-height: 16px !important;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
  .calendar .calendar-container .view.month-view .tble .trow .tcell .event-container .event-inner {
    display: none;
  }
  .calendar .calendar-container.month {
    height: calc(100% - 101px);
  }
  .calendar .weeks-wrapper {
    margin-bottom: 0;
  }
  .calendar.month {
    padding-left: 0;
  }
  .calendar.month .calendar-container {
    height: calc(100% - 108px);
  }
  .calendar-event {
    width: 240px;
    right: -240px;
  }
  .months-drager {
    margin-left: 27px;
    width: calc(100% - 80px);
    border-right: 1px solid #e6e6e6;
    padding-top: 0;
  }
}
@media (max-width: 640px) {
  .calendar.month .calendar-container .view .tble .thead .tcell {
    text-align: center;
  }
  .calendar.month .calendar-container .view .tble .thead .tcell:before {
    width: 100%;
  }
  .calendar.month .calendar-container .view .tble .thead .tcell .weekday {
    width: 11px;
    overflow: hidden;
    letter-spacing: 4px;
    font-weight: bold;
  }
}
/*------------------------------------------------------------------
[22. Login]
*/
.login-wrapper {
  height: 100%;
  background-color: #6d5cae;
}
.login-wrapper > * {
  height: 100%;
}
.login-wrapper .bg-pic {
  position: absolute;
  width: 100%;
  overflow: hidden;
}
.login-wrapper .bg-pic > img {
  height: 100%;
  opacity: 0.9;
}
.login-wrapper .login-container {
  width: 496px;
  display: block;
  position: relative;
  float: right;
}
.login-wrapper .bg-caption {
  width: 500px;
}
.register-container {
  width: 550px;
  margin: auto;
  height: 100%;
}
/* Responsive handlers : Login
------------------------------------
*/
@media (max-width: 768px) {
  .login-wrapper .login-container {
    width: 100%;
  }
  .register-container {
    width: 100%;
    padding: 15px;
  }
}
@media only screen and (max-width: 321px) {
  .login-wrapper .login-container {
    width: 100%;
  }
}
/*------------------------------------------------------------------
[23. Lock Screen]
*/
.lock-container {
  margin-left: auto;
  margin-right: auto;
  width: 600px;
}
.lock-screen-wrapper .credentials {
  margin-top: -84px;
  position: absolute;
  top: 50%;
}
.lock-screen-wrapper .credentials .thumbnail-wrapper {
  width: 53px;
  height: 53px;
}
.lock-screen-wrapper .credentials .logged {
  opacity: .21;
  margin-top: -5px !important;
}
.lock-screen-wrapper .credentials .name {
  opacity: .69;
  margin-top: -5px !important;
  font-size: 36px;
  height: 45px;
  overflow: hidden;
}
.lock-screen-wrapper .terms-wrapper > div {
  display: table;
}
.lock-screen-wrapper .terms-wrapper .terms {
  display: table-cell;
  vertical-align: middle;
}
.lock-screen-wrapper .terms-wrapper .logo-terms {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  text-align: center;
  position: relative;
}
.lock-screen-wrapper .terms-wrapper .logo-terms .brand {
  left: 50%;
  margin-left: -21px;
  margin-top: -5px;
  position: absolute;
  top: 50%;
}
/* Responsive Handlers : Lockscreen 
------------------------------------
*/
@media (max-width: 767px) {
  .lock-container {
    width: 80%;
  }
  .lock-screen-wrapper .credentials form {
    margin-top: 15px;
  }
}
@media (max-width: 480px) {
  .lock-screen-wrapper .credentials {
    margin: 0;
    position: static;
    margin-top: 100px;
    width: 100%;
    float: left;
    clear: both;
  }
  .lock-screen-wrapper .credentials > div {
    text-align: center;
  }
  .lock-screen-wrapper .credentials .thumbnail-wrapper {
    float: none;
    margin: 0 auto;
  }
}
/*------------------------------------------------------------------
[24. Timeline]
*/
/*
  Adapted from Vertical Timeline by Sebastiano Guerriero
  http://codyhouse.co/gem/vertical-timeline/
*/
/* -------------------------------- 

Modules - reusable parts of our design

-------------------------------- */
.timeline-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 1170px;
  margin: 0 auto;
}
.timeline-container::after {
  /* clearfix */
  content: '';
  display: table;
  clear: both;
}
.timeline-container.top-circle:before {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 99px;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
  background-color: #fff;
  z-index: 10;
}
/* -------------------------------- 

Main components 

-------------------------------- */
.timeline {
  position: relative;
  padding: 3em 0 3em 0;
  margin-top: 0;
  margin-bottom: 2em;
}
.timeline::before {
  /* this is the vertical line */
  content: '';
  position: absolute;
  top: 0;
  left: 18px;
  height: 100%;
  width: 2px;
  background: #fff;
}
@media only screen and (min-width: 1170px) {
  .timeline-container:not(.left) .timeline {
    margin-bottom: 3em;
  }
  .timeline-container:not(.left) .timeline::before {
    left: 50%;
    margin-left: -2px;
  }
}
.timeline-block {
  position: relative;
  margin: 2em 0;
}
.timeline-block:after {
  content: "";
  display: table;
  clear: both;
}
.timeline-block:first-child {
  margin-top: 0;
}
.timeline-block:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1170px) {
  .timeline-container:not(.left) .timeline .timeline-block {
    margin: 4em 0;
  }
  .timeline-container:not(.left) .timeline .timeline-block:first-child {
    margin-top: 0;
  }
  .timeline-container:not(.left) .timeline .timeline-block:last-child {
    margin-bottom: 0;
  }
}
.timeline-point {
  position: absolute;
  top: 12px;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-align: center;
  background: #b3b3b3;
  border: 2px solid #fff;
}
.timeline-point.small {
  height: 12px;
  margin-left: 13px;
  margin-top: 14px;
  width: 12px;
}
.timeline-point i {
  color: #fff;
  font-size: 14px;
  left: 50%;
  margin-left: -7px;
  margin-top: -7px;
  position: absolute;
  top: 50%;
}
.timeline-point.primary {
  background-color: #6d5cae;
}
.timeline-point.complete {
  background-color: #48b0f7;
}
.timeline-point.success {
  background-color: #10cfbd;
}
.timeline-point.info {
  background-color: #3b4752;
}
.timeline-point.danger {
  background-color: #f55753;
}
.timeline-point.warning {
  background-color: #f8d053;
}
@media only screen and (min-width: 1170px) {
  .timeline-container:not(.left) .timeline .timeline-point {
    left: 50%;
    margin-left: -21px;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
  }
  .timeline-container:not(.left) .timeline .timeline-point.is-hidden {
    visibility: hidden;
  }
  .timeline-container:not(.left) .timeline .timeline-point.small {
    margin-left: -7px;
  }
  .timeline-container:not(.left) .timeline .timeline-point.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-1 0.6s;
    -moz-animation: cd-bounce-1 0.6s;
    animation: cd-bounce-1 0.6s;
  }
}
@-webkit-keyframes cd-bounce-1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes cd-bounce-1 {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5);
  }
  60% {
    opacity: 1;
    -moz-transform: scale(1.2);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@keyframes cd-bounce-1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.timeline-content {
  position: relative;
  margin-left: 60px;
}
.timeline-content:after {
  content: "";
  display: table;
  clear: both;
}
.timeline-content .card {
  margin-bottom: 0;
}
.timeline-content .event-date {
  display: inline-block;
  float: left;
  padding: .8em 0;
  opacity: .7;
  clear: both;
}
@media (max-width: 480px) {
  .timeline-container {
    width: 94%;
  }
}
@media only screen and (min-width: 1170px) {
  .timeline-container:not(.left) .timeline .timeline-content {
    margin-left: 0;
    width: 46%;
  }
  .timeline-container:not(.left) .timeline .timeline-content::before {
    top: 24px;
    left: 100%;
    border-color: transparent;
    border-left-color: white;
  }
  .timeline-container:not(.left) .timeline .timeline-content.is-hidden {
    visibility: hidden;
  }
  .timeline-container:not(.left) .timeline .timeline-content.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-2 0.6s;
    -moz-animation: cd-bounce-2 0.6s;
    animation: cd-bounce-2 0.6s;
  }
  .timeline-container:not(.left) .timeline .timeline-content .event-date {
    position: absolute;
    width: 100%;
    left: 118%;
    top: -2px;
    font-size: 16px;
    font-size: 1rem;
  }
  .timeline-container:not(.left) .timeline .timeline-content .event-date small {
    margin-top: 13px;
    display: block;
  }
  .timeline-container:not(.left) .timeline .timeline-content .event-date h6 + small {
    margin-top: 0;
  }
  .timeline-container:not(.left) .timeline .timeline-block:nth-child(odd) .timeline-content .card {
    float: right;
  }
  .timeline-container:not(.left) .timeline .timeline-block:nth-child(even) .timeline-content {
    float: right;
  }
  .timeline-container:not(.left) .timeline .timeline-block:nth-child(even) .timeline-content::before {
    top: 24px;
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: white;
  }
  .timeline-container:not(.left) .timeline .timeline-block:nth-child(even) .timeline-content .event-date {
    left: auto;
    right: 118%;
    text-align: right;
  }
}
@media only screen and (min-width: 1170px) {
  /* inverse bounce effect on even content blocks */
  .timeline-container:not(.left) .timeline .timeline-block:nth-child(even) .timeline-content.bounce-in {
    -webkit-animation: cd-bounce-2-inverse 0.6s;
    -moz-animation: cd-bounce-2-inverse 0.6s;
    animation: cd-bounce-2-inverse 0.6s;
  }
}
@-webkit-keyframes cd-bounce-2 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(20px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes cd-bounce-2 {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(20px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@keyframes cd-bounce-2 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
    -moz-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    -o-transform: translateX(-100px);
    transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes cd-bounce-2-inverse {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes cd-bounce-2-inverse {
  0% {
    opacity: 0;
    -moz-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(-20px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@keyframes cd-bounce-2-inverse {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
.timeline-container.center .timeline {
  margin-top: 3em;
  margin-bottom: 3em;
}
.timeline-container.center .timeline::before {
  left: 50%;
  margin-left: -2px;
}
.timeline-container.center .timeline .timeline-point {
  left: 50%;
  margin-left: -21px;
  /* Force Hardware Acceleration in WebKit */
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}
.timeline-container.center .timeline .timeline-point.is-hidden {
  visibility: hidden;
}
.timeline-container.center .timeline .timeline-point.small {
  margin-left: -7px;
}
.timeline-container.center .timeline .timeline-point.bounce-in {
  visibility: visible;
  -webkit-animation: cd-bounce-1 0.6s;
  -moz-animation: cd-bounce-1 0.6s;
  animation: cd-bounce-1 0.6s;
}
.timeline-container.center .timeline .timeline-content {
  margin-left: 0;
  width: 46%;
}
.timeline-container.center .timeline .timeline-content::before {
  top: 24px;
  left: 100%;
  border-color: transparent;
  border-left-color: white;
}
.timeline-container.center .timeline .timeline-content.is-hidden {
  visibility: hidden;
}
.timeline-container.center .timeline .timeline-content.bounce-in {
  visibility: visible;
  -webkit-animation: cd-bounce-2 0.6s;
  -moz-animation: cd-bounce-2 0.6s;
  animation: cd-bounce-2 0.6s;
}
.timeline-container.center .timeline .timeline-content .event-date {
  position: absolute;
  width: 100%;
  left: 118%;
  top: -2px;
  font-size: 16px;
  font-size: 1rem;
}
.timeline-container.center .timeline .timeline-content .event-date small {
  margin-top: 13px;
  display: block;
}
.timeline-container.center .timeline .timeline-content .event-date h6 + small {
  margin-top: 0;
}
.timeline-container.center .timeline .timeline-block:nth-child(odd) .timeline-content .card {
  float: right;
}
.timeline-container.center .timeline .timeline-block:nth-child(even) .timeline-content {
  float: right;
}
.timeline-container.center .timeline .timeline-block:nth-child(even) .timeline-content::before {
  top: 24px;
  left: auto;
  right: 100%;
  border-color: transparent;
  border-right-color: white;
}
.timeline-container.center .timeline .timeline-block:nth-child(even) .timeline-content .event-date {
  left: auto;
  right: 118%;
  text-align: right;
}
@media only screen and (min-width: 1170px) {
  .timeline-container.left {
    width: 60%;
    margin-left: 100px;
  }
}
/*------------------------------------------------------------------
[27. Widgets]
*/
.widget {
  position: relative;
}
.widget > div {
  position: relative;
  z-index: 1;
}
.widget:after {
  background-size: cover;
  content: " ";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 0;
  opacity: .69;
}
.widget-1:after {
  background-image: url("../../assets/img/dashboard/pages_hero.jpg");
  background-size: cover;
  content: " ";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 0;
  opacity: .69;
}
.widget-1:before {
  background-image: url('../img/linear_gradient.png');
  background-repeat: repeat-x;
  content: " ";
  left: 0;
  right: 0;
  height: 325px;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
.widget-1 > .panel-body .company:nth-child(2) > div {
  display: table;
  margin: 0 auto;
  width: 127px;
}
.widget-1 > .panel-body > * {
  z-index: 1;
}
.widget-1 > .panel-body > *:not(.pull-bottom) {
  position: relative;
}
.widget-1 > .panel-body .pull-bottom {
  padding: 0 49px 56px 42px;
}
.widget-1 span.label {
  color: #fff;
  background: rgba(255, 255, 255, 0.3);
}
.widget-2:after {
  background-image: url("../../assets/img/social/person-cropped.jpg");
}
.widget-3 a {
  text-decoration: none;
}
.widget-3 .pg-map {
  font-size: 30px;
}
.widget-3 .widget-3-fav {
  background: rgba(0, 0, 0, 0.07);
  vertical-align: middle;
  padding: 6px 11px;
  display: block;
}
.widget-4 .row-sm-height:nth-child(1) {
  height: 30px;
}
.widget-4 .row-sm-height:nth-child(2) {
  height: 30px;
}
.widget-4-chart {
  height: 100%;
  width: 100%;
  bottom: 0;
  position: absolute;
  right: 0;
}
.widget-4-chart.line-chart .tick text,
.widget-4-chart .line-chart .nvd3 .nv-axis .nv-axisMaxMin text {
  transform: translate(-10px, -32px);
}
.widget-4-chart .nvtooltip .nv-pointer-events-none thead {
  display: none;
}
.widget-4-chart .nvtooltip .nv-pointer-events-none tbody .nv-pointer-events-none .key {
  display: none;
}
.widget-5-chart-container {
  overflow: hidden;
}
.widget-5-chart {
  height: auto;
  width: auto;
  bottom: 20px;
  position: absolute;
  right: 20px;
  left: 20px;
  top: 40px;
}
.widget-6 {
  background: #939393;
}
.widget-6 .label {
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.67);
}
.widget-7 .slide-back .row-sm-height:nth-child(1) {
  height: 60%;
}
.widget-7 .slide-back .row-sm-height:nth-child(2) {
  height: 40%;
}
.widget-7-chart {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
}
.widget-7-chart.line-chart[data-points="true"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke-opacity: 1;
}
.widget-7-chart .nvd3 circle.nv-point:nth-child(4) {
  fill: #f55753 !important;
  stroke: #f55753 !important;
}
.widget-8 {
  height: 145px;
}
.widget-8 .row-xs-height:first-child {
  height: 41px;
}
.widget-8-chart {
  height: 100px;
  width: 50%;
  bottom: 0;
  position: absolute;
  right: 0;
}
.widget-8-chart .line-chart[data-points="true"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke-opacity: 0.3;
}
.widget-8-chart .line-chart .nvd3 .nv-groups path.nv-line {
  stroke-opacity: 0.15;
}
.widget-8-chart .nvtooltip {
  display: none;
}
.widget-9 {
  height: 145px;
}
.widget-9 .row-xs-height:first-child {
  height: 26px;
}
.widget-9 .progress {
  background: rgba(0, 0, 0, 0.1);
}
.widget-10 {
  height: 145px;
}
.widget-11 sup {
  margin-right: -4px;
}
.widget-11 .widget-11-table {
  height: 380px;
}
.widget-11 .widget-11-table tr td:first-child {
  width: 40%;
}
.widget-11-2 sup {
  margin-right: -4px;
}
.widget-11-2 .widget-11-2-table {
  height: 273px;
}
.widget-12 .list-inline a {
  padding: 3px 4px;
  border-radius: 3px;
  opacity: .7;
}
.widget-12 .list-inline .active a {
  opacity: 1;
}
.widget-12 .nvd3-line svg {
  height: 316px;
}
.widget-12 .company-stat-boxes .close {
  line-height: 0;
}
.widget-12 .widget-12-search {
  margin-top: -3px;
}
.widget-14 .row-xs-height:nth-child(1) {
  height: 30px;
}
.widget-14 .row-xs-height:nth-child(2) {
  height: 120px;
}
.widget-14 .row-xs-height:nth-child(3) {
  height: 297px;
}
.widget-14-chart_y_axis {
  position: absolute;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
  bottom: 0;
  width: 35px;
  left: 0;
  z-index: 2;
}
.widget-14-chart_y_axis .rickshaw_graph .y_ticks path,
.widget-14-chart_y_axis .rickshaw_graph .x_ticks_d3 path {
  fill: none;
  stroke: none;
}
.widget-14-chart_y_axis .rickshaw_graph .y_ticks text,
.widget-14-chart_y_axis .rickshaw_graph .x_ticks_d3 text {
  opacity: 0.35;
  font-family: 'Montserrat';
  font-size: 11px;
}
.widget-14-chart_y_axis .y_ticks.plain g:first-child {
  opacity: 0 !important;
}
.widget-14-chart-legend .ui-sortable li {
  padding-right: 0;
}
.widget-14-chart-legend .ui-sortable li .action {
  display: none;
}
.widget-14-chart-legend .ui-sortable li:last-child {
  margin-top: 7px;
}
.widget-15 #widget-15-tab-1 > div {
  height: 170px;
}
.widget-15-2 {
  height: 469px;
}
.widget-15-2 #widget-15-2-tab-1 .full-width {
  height: 180px;
}
.widget-16-header .pull-left:last-child {
  width: 69%;
}
.widget-16-chart {
  height: 100px;
}
.widget-16-chart.line-chart[data-stroke-width="2"] .nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
  stroke-width: 2px;
}
.widget-17 {
  height: 467px;
}
.widget-17 .widget-17-weather {
  width: 90%;
}
.widget-18-post {
  height: 342px;
  background: url('../../assets/img/social/quote.jpg');
  background-position: center center;
  background-size: cover;
}
.widget-19-post {
  height: 237px;
  background: #00A79A;
}
.widget-19-post img {
  top: 50%;
  margin-top: -70px;
}
.btn-circle-arrow {
  border: 1px solid #fff;
  border-radius: 100px;
  position: relative;
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}
.btn-circle-arrow i {
  font-size: 11px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -5px;
  margin-top: -4px;
}
/*** Large screens ***/
@media only screen and (min-width: 1824px) {
  .ar-3-2:before {
    padding-top: calc(55% - 5px) !important;
  }
  .ar-2-3:before {
    padding-top: calc(135% - 5px) !important;
  }
}
@media (max-width: 991px) {
  .panel {
    height: auto !important;
  }
  .widget-8,
  .widget-9,
  .widget-10 {
    height: 180px !important;
  }
}
@media (max-width: 480px) {
  .widget-1-wrapper {
    height: 340px;
  }
}
@media (max-width: 420px) {
  .widgets-container {
    margin-top: 80px;
  }
}
@media (max-width: 610px) {
  .widget-item,
  .widgets-container {
    width: 100% !important;
  }
}
/*------------------------------------------------------------------
[28. Misc : Helper Classes]
*/
.custom {
  height: 150px;
}
.tooltip {
  z-index: 1170;
}
.icon-list .fa-item {
  display: block;
  color: #121212;
  line-height: 32px;
  height: 32px;
  padding-left: 10px;
}
.icon-list .fa-item > i {
  width: 32px;
  font-size: 14px;
  display: inline-block;
  text-align: right;
  margin-right: 10px;
}
.push-on-sidebar-open {
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  -webkit-backface-visibility: hidden;
}
/* Thumbnail for icons and profile pics
------------------------------------
*/
.thumbnail-wrapper {
  display: inline-block;
  overflow: hidden;
  float: left;
}
.thumbnail-wrapper.circular {
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
}
.thumbnail-wrapper.bordered {
  border-width: 4px;
  border-style: solid;
}
.thumbnail-wrapper.bordered.d16 {
  width: 20px;
  height: 20px;
}
.thumbnail-wrapper.bordered.d16 > * {
  line-height: 12px;
}
.thumbnail-wrapper.bordered.d24 {
  width: 28px;
  height: 28px;
}
.thumbnail-wrapper.bordered.d24 > * {
  line-height: 24px;
}
.thumbnail-wrapper.bordered.d32 {
  width: 36px;
  height: 36px;
}
.thumbnail-wrapper.bordered.d32 > * {
  line-height: 28px;
}
.thumbnail-wrapper.bordered.d48 {
  width: 52px;
  height: 52px;
}
.thumbnail-wrapper.bordered.d48 > * {
  line-height: 44px;
}
.thumbnail-wrapper.d16 {
  width: 16px;
  height: 16px;
}
.thumbnail-wrapper.d16 > * {
  line-height: 16px;
}
.thumbnail-wrapper.d24 {
  width: 24px;
  height: 24px;
}
.thumbnail-wrapper.d24 > * {
  line-height: 24px;
}
.thumbnail-wrapper.d32 {
  width: 32px;
  height: 32px;
}
.thumbnail-wrapper.d32 > * {
  line-height: 32px;
}
.thumbnail-wrapper.d39 {
  width: 39px;
  height: 39px;
}
.thumbnail-wrapper.d39 > * {
  line-height: 39px;
}
.thumbnail-wrapper.d48 {
  width: 48px;
  height: 48px;
}
.thumbnail-wrapper.d48 > * {
  line-height: 50px;
}
.thumbnail-wrapper > * {
  vertical-align: middle;
  width: 100%;
  height: 100%;
  text-align: center;
}
/* Profile dropdown
------------------------------------
*/
.profile-dropdown {
  background: #fff;
  padding: 0;
}
.profile-dropdown:before {
  position: absolute;
  top: -7px;
  right: 15px;
  display: inline-block;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-left: 7px solid transparent;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: '';
}
.profile-dropdown:after {
  position: absolute;
  top: -6px;
  right: 16px;
  display: inline-block;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-left: 6px solid transparent;
  content: '';
}
.profile-dropdown li:last-child {
  margin-top: 11px;
  padding: 0;
}
.profile-dropdown li:last-child > a {
  padding-top: 3px;
  padding-bottom: 3px;
  padding-right: 19px;
}
.profile-dropdown li > a {
  opacity: .5;
  -webkit-transition: opacity ease 0.3s;
  transition: opacity ease 0.3s;
  padding-left: 17px;
  padding-right: 37px;
  min-width: 138px;
}
.profile-dropdown li > a > i {
  margin-right: 5px;
}
.profile-dropdown li > a:hover {
  opacity: 1;
}
.profile-dropdown-toggle {
  background: transparent;
  border: none;
}
/* Scroll
------------------------------------
*/
.scrollable {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
/* Overides
------------------------------------
*/
.no-padding {
  padding: 0px !important;
}
.no-margin {
  margin: 0px !important;
}
.no-overflow {
  overflow: hidden !important;
}
.auto-overflow {
  overflow: auto !important;
}
.reset-overflow {
  overflow: initial !important;
}
.center-margin {
  margin-left: auto;
  margin-right: auto;
}
.inherit-size {
  width: inherit;
  height: inherit;
}
.inherit-height {
  height: inherit;
}
.image-responsive-height {
  width: 100%;
}
.image-responsive-width {
  height: 100%;
}
.overlayer {
  position: absolute;
  display: block;
  z-index: 21;
}
.overlayer.fullwidth {
  width: 100%;
}
.overlayer-wrapper {
  position: relative;
  display: block;
  z-index: 10;
}
.overlay-fixed {
  position: fixed !important;
  top: auto !important;
}
.top-left {
  position: absolute !important;
  top: 0;
  left: 0;
}
.top-right {
  position: absolute !important;
  top: 1px;
  right: 0;
}
.bottom-left {
  position: absolute !important;
  bottom: 1px;
  left: 0;
}
.bottom-right {
  position: absolute !important;
  bottom: 0;
  right: 0;
}
.pull-bottom {
  position: absolute !important;
  bottom: 0;
}
.pull-up {
  position: absolute !important;
  top: 0;
}
.pull-left {
  float: left !important;
}
.pull-right {
  float: right !important;
}
.pull-center {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  display: table;
  z-index: 1;
}
.display-flex {
  display: flex;
}
.cursor {
  cursor: pointer;
}
.cursor-default {
  cursor: default;
}
.scroll-x-hidden {
  overflow-x: hidden !important;
}
/* Generic Padding Helpers
------------------------------------
*/
.p-t-0 {
  padding-top: 0px !important;
}
.p-r-0 {
  padding-right: 0px !important;
}
.p-l-0 {
  padding-left: 0px !important;
}
.p-b-0 {
  padding-bottom: 0px !important;
}
.padding-0 {
  padding: 0px !important;
}
.p-t-5 {
  padding-top: 5px !important;
}
.p-r-5 {
  padding-right: 5px !important;
}
.p-l-5 {
  padding-left: 5px !important;
}
.p-b-5 {
  padding-bottom: 5px !important;
}
.padding-5 {
  padding: 5px !important;
}
.p-t-10 {
  padding-top: 10px !important;
}
.p-r-10 {
  padding-right: 10px !important;
}
.p-l-10 {
  padding-left: 10px !important;
}
.p-b-10 {
  padding-bottom: 10px !important;
}
.padding-10 {
  padding: 10px !important;
}
.p-t-15 {
  padding-top: 15px !important;
}
.p-r-15 {
  padding-right: 15px !important;
}
.p-l-15 {
  padding-left: 15px !important;
}
.p-b-15 {
  padding-bottom: 15px !important;
}
.padding-15 {
  padding: 15px !important;
}
.p-t-20 {
  padding-top: 20px !important;
}
.p-r-20 {
  padding-right: 20px !important;
}
.p-l-20 {
  padding-left: 20px !important;
}
.p-b-20 {
  padding-bottom: 20px !important;
}
.padding-20 {
  padding: 20px !important;
}
.p-t-25 {
  padding-top: 25px !important;
}
.p-r-25 {
  padding-right: 25px !important;
}
.p-l-25 {
  padding-left: 25px !important;
}
.p-b-25 {
  padding-bottom: 25px !important;
}
.padding-25 {
  padding: 25px !important;
}
.p-t-30 {
  padding-top: 30px !important;
}
.p-r-30 {
  padding-right: 30px !important;
}
.p-l-30 {
  padding-left: 30px !important;
}
.p-b-30 {
  padding-bottom: 30px !important;
}
.padding-30 {
  padding: 30px !important;
}
.p-t-35 {
  padding-top: 35px !important;
}
.p-r-35 {
  padding-right: 35px !important;
}
.p-l-35 {
  padding-left: 35px !important;
}
.p-b-35 {
  padding-bottom: 35px !important;
}
.padding-35 {
  padding: 35px !important;
}
.p-t-40 {
  padding-top: 40px !important;
}
.p-r-40 {
  padding-right: 40px !important;
}
.p-l-40 {
  padding-left: 40px !important;
}
.p-b-40 {
  padding-bottom: 40px !important;
}
.padding-40 {
  padding: 40px !important;
}
.p-t-45 {
  padding-top: 45px !important;
}
.p-r-45 {
  padding-right: 45px !important;
}
.p-l-45 {
  padding-left: 45px !important;
}
.p-b-45 {
  padding-bottom: 45px !important;
}
.padding-45 {
  padding: 45px !important;
}
.p-t-50 {
  padding-top: 50px !important;
}
.p-r-50 {
  padding-right: 50px !important;
}
.p-l-50 {
  padding-left: 50px !important;
}
.p-b-50 {
  padding-bottom: 50px !important;
}
.padding-50 {
  padding: 50px !important;
}
.p-t-55 {
  padding-top: 55px !important;
}
.p-r-55 {
  padding-right: 55px !important;
}
.p-l-55 {
  padding-left: 55px !important;
}
.p-b-55 {
  padding-bottom: 55px !important;
}
.padding-55 {
  padding: 55px !important;
}
.p-t-60 {
  padding-top: 60px !important;
}
.p-r-60 {
  padding-right: 60px !important;
}
.p-l-60 {
  padding-left: 60px !important;
}
.p-b-60 {
  padding-bottom: 60px !important;
}
.padding-60 {
  padding: 60px !important;
}
.p-t-65 {
  padding-top: 65px !important;
}
.p-r-65 {
  padding-right: 65px !important;
}
.p-l-65 {
  padding-left: 65px !important;
}
.p-b-65 {
  padding-bottom: 65px !important;
}
.padding-65 {
  padding: 65px !important;
}
.p-t-70 {
  padding-top: 70px !important;
}
.p-r-70 {
  padding-right: 70px !important;
}
.p-l-70 {
  padding-left: 70px !important;
}
.p-b-70 {
  padding-bottom: 70px !important;
}
.padding-70 {
  padding: 70px !important;
}
.p-t-75 {
  padding-top: 75px !important;
}
.p-r-75 {
  padding-right: 75px !important;
}
.p-l-75 {
  padding-left: 75px !important;
}
.p-b-75 {
  padding-bottom: 75px !important;
}
.padding-75 {
  padding: 75px !important;
}
.p-t-80 {
  padding-top: 80px !important;
}
.p-r-80 {
  padding-right: 80px !important;
}
.p-l-80 {
  padding-left: 80px !important;
}
.p-b-80 {
  padding-bottom: 80px !important;
}
.padding-80 {
  padding: 80px !important;
}
.p-t-85 {
  padding-top: 85px !important;
}
.p-r-85 {
  padding-right: 85px !important;
}
.p-l-85 {
  padding-left: 85px !important;
}
.p-b-85 {
  padding-bottom: 85px !important;
}
.padding-85 {
  padding: 85px !important;
}
.p-t-90 {
  padding-top: 90px !important;
}
.p-r-90 {
  padding-right: 90px !important;
}
.p-l-90 {
  padding-left: 90px !important;
}
.p-b-90 {
  padding-bottom: 90px !important;
}
.padding-90 {
  padding: 90px !important;
}
.p-t-95 {
  padding-top: 95px !important;
}
.p-r-95 {
  padding-right: 95px !important;
}
.p-l-95 {
  padding-left: 95px !important;
}
.p-b-95 {
  padding-bottom: 95px !important;
}
.padding-95 {
  padding: 95px !important;
}
.p-t-100 {
  padding-top: 100px !important;
}
.p-r-100 {
  padding-right: 100px !important;
}
.p-l-100 {
  padding-left: 100px !important;
}
.p-b-100 {
  padding-bottom: 100px !important;
}
.padding-100 {
  padding: 100px !important;
}
/* Generic Margin Helpers
------------------------------------
 */
.m-t-0 {
  margin-top: 0px;
}
.m-r-0 {
  margin-right: 0px;
}
.m-l-0 {
  margin-left: 0px;
}
.m-b-0 {
  margin-bottom: 0px;
}
.-m-t-0 {
  margin-top: 0px;
}
.-m-r-0 {
  margin-right: 0px;
}
.-m-l-0 {
  margin-left: 0px;
}
.-m-b-0 {
  margin-bottom: 0px;
}
.m-t-5 {
  margin-top: 5px;
}
.m-r-5 {
  margin-right: 5px;
}
.m-l-5 {
  margin-left: 5px;
}
.m-b-5 {
  margin-bottom: 5px;
}
.-m-t-5 {
  margin-top: -5px;
}
.-m-r-5 {
  margin-right: -5px;
}
.-m-l-5 {
  margin-left: -5px;
}
.-m-b-5 {
  margin-bottom: -5px;
}
.m-t-10 {
  margin-top: 10px;
}
.m-r-10 {
  margin-right: 10px;
}
.m-l-10 {
  margin-left: 10px;
}
.m-b-10 {
  margin-bottom: 10px;
}
.-m-t-10 {
  margin-top: -10px;
}
.-m-r-10 {
  margin-right: -10px;
}
.-m-l-10 {
  margin-left: -10px;
}
.-m-b-10 {
  margin-bottom: -10px;
}
.m-t-15 {
  margin-top: 15px;
}
.m-r-15 {
  margin-right: 15px;
}
.m-l-15 {
  margin-left: 15px;
}
.m-b-15 {
  margin-bottom: 15px;
}
.-m-t-15 {
  margin-top: -15px;
}
.-m-r-15 {
  margin-right: -15px;
}
.-m-l-15 {
  margin-left: -15px;
}
.-m-b-15 {
  margin-bottom: -15px;
}
.m-t-20 {
  margin-top: 20px;
}
.m-r-20 {
  margin-right: 20px;
}
.m-l-20 {
  margin-left: 20px;
}
.m-b-20 {
  margin-bottom: 20px;
}
.-m-t-20 {
  margin-top: -20px;
}
.-m-r-20 {
  margin-right: -20px;
}
.-m-l-20 {
  margin-left: -20px;
}
.-m-b-20 {
  margin-bottom: -20px;
}
.m-t-25 {
  margin-top: 25px;
}
.m-r-25 {
  margin-right: 25px;
}
.m-l-25 {
  margin-left: 25px;
}
.m-b-25 {
  margin-bottom: 25px;
}
.-m-t-25 {
  margin-top: -25px;
}
.-m-r-25 {
  margin-right: -25px;
}
.-m-l-25 {
  margin-left: -25px;
}
.-m-b-25 {
  margin-bottom: -25px;
}
.m-t-30 {
  margin-top: 30px;
}
.m-r-30 {
  margin-right: 30px;
}
.m-l-30 {
  margin-left: 30px;
}
.m-b-30 {
  margin-bottom: 30px;
}
.-m-t-30 {
  margin-top: -30px;
}
.-m-r-30 {
  margin-right: -30px;
}
.-m-l-30 {
  margin-left: -30px;
}
.-m-b-30 {
  margin-bottom: -30px;
}
.m-t-35 {
  margin-top: 35px;
}
.m-r-35 {
  margin-right: 35px;
}
.m-l-35 {
  margin-left: 35px;
}
.m-b-35 {
  margin-bottom: 35px;
}
.-m-t-35 {
  margin-top: -35px;
}
.-m-r-35 {
  margin-right: -35px;
}
.-m-l-35 {
  margin-left: -35px;
}
.-m-b-35 {
  margin-bottom: -35px;
}
.m-t-40 {
  margin-top: 40px;
}
.m-r-40 {
  margin-right: 40px;
}
.m-l-40 {
  margin-left: 40px;
}
.m-b-40 {
  margin-bottom: 40px;
}
.-m-t-40 {
  margin-top: -40px;
}
.-m-r-40 {
  margin-right: -40px;
}
.-m-l-40 {
  margin-left: -40px;
}
.-m-b-40 {
  margin-bottom: -40px;
}
.m-t-45 {
  margin-top: 45px;
}
.m-r-45 {
  margin-right: 45px;
}
.m-l-45 {
  margin-left: 45px;
}
.m-b-45 {
  margin-bottom: 45px;
}
.-m-t-45 {
  margin-top: -45px;
}
.-m-r-45 {
  margin-right: -45px;
}
.-m-l-45 {
  margin-left: -45px;
}
.-m-b-45 {
  margin-bottom: -45px;
}
.m-t-50 {
  margin-top: 50px;
}
.m-r-50 {
  margin-right: 50px;
}
.m-l-50 {
  margin-left: 50px;
}
.m-b-50 {
  margin-bottom: 50px;
}
.-m-t-50 {
  margin-top: -50px;
}
.-m-r-50 {
  margin-right: -50px;
}
.-m-l-50 {
  margin-left: -50px;
}
.-m-b-50 {
  margin-bottom: -50px;
}
.m-t-55 {
  margin-top: 55px;
}
.m-r-55 {
  margin-right: 55px;
}
.m-l-55 {
  margin-left: 55px;
}
.m-b-55 {
  margin-bottom: 55px;
}
.-m-t-55 {
  margin-top: -55px;
}
.-m-r-55 {
  margin-right: -55px;
}
.-m-l-55 {
  margin-left: -55px;
}
.-m-b-55 {
  margin-bottom: -55px;
}
.m-t-60 {
  margin-top: 60px;
}
.m-r-60 {
  margin-right: 60px;
}
.m-l-60 {
  margin-left: 60px;
}
.m-b-60 {
  margin-bottom: 60px;
}
.-m-t-60 {
  margin-top: -60px;
}
.-m-r-60 {
  margin-right: -60px;
}
.-m-l-60 {
  margin-left: -60px;
}
.-m-b-60 {
  margin-bottom: -60px;
}
.m-t-65 {
  margin-top: 65px;
}
.m-r-65 {
  margin-right: 65px;
}
.m-l-65 {
  margin-left: 65px;
}
.m-b-65 {
  margin-bottom: 65px;
}
.-m-t-65 {
  margin-top: -65px;
}
.-m-r-65 {
  margin-right: -65px;
}
.-m-l-65 {
  margin-left: -65px;
}
.-m-b-65 {
  margin-bottom: -65px;
}
.m-t-70 {
  margin-top: 70px;
}
.m-r-70 {
  margin-right: 70px;
}
.m-l-70 {
  margin-left: 70px;
}
.m-b-70 {
  margin-bottom: 70px;
}
.-m-t-70 {
  margin-top: -70px;
}
.-m-r-70 {
  margin-right: -70px;
}
.-m-l-70 {
  margin-left: -70px;
}
.-m-b-70 {
  margin-bottom: -70px;
}
.m-t-75 {
  margin-top: 75px;
}
.m-r-75 {
  margin-right: 75px;
}
.m-l-75 {
  margin-left: 75px;
}
.m-b-75 {
  margin-bottom: 75px;
}
.-m-t-75 {
  margin-top: -75px;
}
.-m-r-75 {
  margin-right: -75px;
}
.-m-l-75 {
  margin-left: -75px;
}
.-m-b-75 {
  margin-bottom: -75px;
}
.m-t-80 {
  margin-top: 80px;
}
.m-r-80 {
  margin-right: 80px;
}
.m-l-80 {
  margin-left: 80px;
}
.m-b-80 {
  margin-bottom: 80px;
}
.-m-t-80 {
  margin-top: -80px;
}
.-m-r-80 {
  margin-right: -80px;
}
.-m-l-80 {
  margin-left: -80px;
}
.-m-b-80 {
  margin-bottom: -80px;
}
.m-t-85 {
  margin-top: 85px;
}
.m-r-85 {
  margin-right: 85px;
}
.m-l-85 {
  margin-left: 85px;
}
.m-b-85 {
  margin-bottom: 85px;
}
.-m-t-85 {
  margin-top: -85px;
}
.-m-r-85 {
  margin-right: -85px;
}
.-m-l-85 {
  margin-left: -85px;
}
.-m-b-85 {
  margin-bottom: -85px;
}
.m-t-90 {
  margin-top: 90px;
}
.m-r-90 {
  margin-right: 90px;
}
.m-l-90 {
  margin-left: 90px;
}
.m-b-90 {
  margin-bottom: 90px;
}
.-m-t-90 {
  margin-top: -90px;
}
.-m-r-90 {
  margin-right: -90px;
}
.-m-l-90 {
  margin-left: -90px;
}
.-m-b-90 {
  margin-bottom: -90px;
}
.m-t-95 {
  margin-top: 95px;
}
.m-r-95 {
  margin-right: 95px;
}
.m-l-95 {
  margin-left: 95px;
}
.m-b-95 {
  margin-bottom: 95px;
}
.-m-t-95 {
  margin-top: -95px;
}
.-m-r-95 {
  margin-right: -95px;
}
.-m-l-95 {
  margin-left: -95px;
}
.-m-b-95 {
  margin-bottom: -95px;
}
.m-t-100 {
  margin-top: 100px;
}
.m-r-100 {
  margin-right: 100px;
}
.m-l-100 {
  margin-left: 100px;
}
.m-b-100 {
  margin-bottom: 100px;
}
.-m-t-100 {
  margin-top: -100px;
}
.-m-r-100 {
  margin-right: -100px;
}
.-m-l-100 {
  margin-left: -100px;
}
.-m-b-100 {
  margin-bottom: -100px;
}
.full-height {
  height: 100% !important;
}
.full-width {
  width: 100%;
}
.hide {
  display: none;
}
.inline {
  display: inline-block !important;
}
.block {
  display: block;
}
.b-blank {
  border-color: #000;
}
/* Border Helpers
------------------------------------
*/
.b-a,
.b-r,
.b-l,
.b-t,
.b-b {
  border-style: solid;
  border-width: 0;
}
.b-r {
  border-right-width: 1px;
}
.b-l {
  border-left-width: 1px;
}
.b-t {
  border-top-width: 1px;
}
.b-b {
  border-bottom-width: 1px;
}
.b-a {
  border-width: 1px;
}
.b-dashed {
  border-style: dashed;
}
.b-thick {
  border-width: 2px;
}
.b-transparent {
  border-color: rgba(0, 0, 0, 0.4);
}
.b-transparent-white {
  border-color: rgba(255, 255, 255, 0.3);
}
.b-grey {
  border-color: #e6e6e6;
}
.b-white {
  border-color: #fff;
}
.b-primary {
  border-color: #6d5cae;
}
.b-complete {
  border-color: #6d5cae;
}
.b-success {
  border-color: #10cfbd;
}
.b-info {
  border-color: #3b4752;
}
.b-danger {
  border-color: #f55753;
}
.b-warning {
  border-color: #f8d053;
}
/* Border Radius
------------------------------------
*/
.b-rad-sm {
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
.b-rad-md {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
.b-rad-lg {
  border-radius: 7px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
}
.no-border {
  border: none !important;
}
/** Profile Wrappers **/
.profile-img-wrapper {
  float: left;
  border-radius: 100px 100px 100px 100px;
  display: inline-block;
  height: 35px;
  overflow: hidden;
  width: 35px;
  -webkit-flex: 1;
  -moz-flex: 1;
  flex: 1;
}
.profile-img-wrapper.big {
  height: 68px;
  width: 68px;
}
.profile-img-wrapper.with-left-space-custom {
  margin-left: 7px;
}
.relative {
  position: relative;
}
/* Demo Purposes */
.icon-set-preview {
  transition: opacity 0.1s linear;
}
#icon-list {
  transition: all 0.1s ease-in-out;
}
.error-number {
  font-family: 'Montserrat';
  font-size: 90px;
  line-height: 90px;
}
.error-container-innner {
  margin-left: auto;
  margin-right: auto;
  width: 360px;
}
.error-container {
  margin-top: -100px;
  margin-left: auto;
  margin-right: auto;
  width: 38%;
}
.visible-xlg {
  display: none;
}
.hidden-xlg {
  display: block;
}
.sm-gutter .row > [class^="col-"],
.sm-gutter .row > [class*="col-"] {
  padding-left: 5px;
  padding-right: 5px;
}
.sm-gutter .row {
  margin-left: -5px;
  margin-right: -5px;
}
/* Aspect ratio */
.ar-1-1 .panel,
.ar-2-1 .panel,
.ar-1-2 .panel,
.ar-3-2 .panel,
.ar-2-3 .panel {
  margin: 0;
}
.ar-1-1 {
  position: relative;
  width: 100%;
  /* desired width */
  overflow: hidden;
}
.ar-1-1:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* initial ratio of 1:1*/
}
.ar-1-1 > div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.ar-2-1 {
  position: relative;
  width: 100%;
  /* desired width */
  overflow: hidden;
}
.ar-2-1:before {
  content: "";
  display: block;
  padding-top: calc(50% -  5px);
  /* initial ratio of 1:1*/
}
.ar-2-1 > div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.ar-1-2 {
  position: relative;
  width: 100%;
  /* desired width */
  overflow: hidden;
}
.ar-1-2:before {
  content: "";
  display: block;
  padding-top: calc(150% -  5px);
  /* initial ratio of 1:1*/
}
.ar-1-2 > div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.ar-3-2 {
  position: relative;
  width: 100%;
  /* desired width */
  overflow: hidden;
}
.ar-3-2:before {
  content: "";
  display: block;
  padding-top: calc(75% -  5px);
  /* initial ratio of 1:1*/
}
.ar-3-2 > div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.ar-2-3 {
  position: relative;
  width: 100%;
  /* desired width */
  overflow: hidden;
}
.ar-2-3:before {
  content: "";
  display: block;
  padding-top: calc(125% -  5px);
  /* initial ratio of 1:1*/
}
.ar-2-3 > div {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.v-align-bottom {
  vertical-align: bottom !important;
}
.v-align-top {
  vertical-align: top !important;
}
.v-align-middle {
  vertical-align: middle !important;
}
/* vertical alignment styles */
.col-top {
  vertical-align: top !important;
}
.col-middle {
  vertical-align: middle !important;
}
.col-bottom {
  vertical-align: bottom !important;
}
/* columns of same height styles
------------------------------------
*/
.container-xs-height {
  display: table;
  padding-left: 0px;
  padding-right: 0px;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.row-xs-height {
  display: table-row;
}
.col-xs-height {
  display: table-cell;
  float: none;
}
@media (min-width: 768px) {
  .container-sm-height {
    display: table;
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
  }
  .row-sm-height {
    display: table-row;
  }
  .col-sm-height {
    display: table-cell !important;
    float: none !important;
  }
}
@media (min-width: 992px) {
  .container-md-height {
    display: table;
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
  }
  .row-md-height {
    display: table-row;
  }
  .col-md-height {
    display: table-cell !important;
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .container-lg-height {
    display: table;
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
  }
  .row-lg-height {
    display: table-row;
  }
  .col-lg-height {
    display: table-cell !important;
    float: none !important;
  }
}
/*------------------------------------------------------------------
[29. Print]
*/
@media print {
  .header,
  .page-sidebar,
  .quickview-wrapper,
  .overlay {
    display: none;
  }
  .page-container {
    padding-left: 0;
  }
  .page-content-wrapper .content {
    border-top: 0;
  }
  .page-content-wrapper .content .panel {
    border: none;
  }
  .page-content-wrapper .content .panel .panel-body {
    padding: 0;
  }
  [class^='padding-'],
  [class*='padding-'],
  .table tbody tr td {
    padding: 10px;
  }
}
/*------------------------------------------------------------------
[30. Demo : Only for demo pursposes]
*/
.builder {
  width: 423px;
  right: -423px;
}
.builder > div {
  height: calc(100% - 12px);
}
.builder a {
  position: relative;
  display: block;
  width: 100%;
  color: #a1a1a1;
}
.builder a > img {
  opacity: 0.33;
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}
.builder a.active {
  color: #626262;
}
.builder a.active > img {
  opacity: 0.87;
}
.builder a.active:before {
  background-image: url('../../assets/img//demo/tick.svg');
  width: 23px;
  height: 23px;
  content: '';
  position: absolute;
  top: 84px;
  right: -10px;
  z-index: 10;
}
.builder a:hover {
  color: #818181;
}
.builder a:hover > img {
  opacity: 0.7;
}
.builder .builder-footer {
  right: 0;
  left: 0;
  z-index: 10;
}
.builder .theme-selector.active:before {
  top: 54px;
  right: 10px;
}
.builder .nav-tabs {
  background-color: transparent;
  padding: 0;
}
.builder .nav-tabs > li > a {
  min-width: 99px;
  padding: 16px 0;
}
.builder .nav-tabs ~ .tab-content {
  position: relative;
  padding-right: 0px;
  height: 100%;
  top: 0;
}
.builder .nav-tabs ~ .tab-content .tab-pane {
  height: 100%;
  overflow-x: hidden !important;
}
.builder .nav-tabs ~ .tab-content .tab-pane .scrollable {
  padding-top: 27px;
  height: calc(100% - 47px);
  overflow-x: hidden !important;
}
.builder .builder-close {
  position: absolute;
  right: 36px;
  top: 20px;
  padding: 7px;
  width: auto;
  z-index: 10;
}
.builder .builder-toggle {
  position: absolute;
  width: 54px;
  height: 50px;
  top: 20%;
  left: -48px;
  text-align: center;
  line-height: 50px;
  cursor: pointer;
}
.builder:before {
  position: absolute;
  content: '';
  width: 48px;
  height: 50px;
  background-color: #fff;
  top: 20%;
  left: -47px;
  box-shadow: 0 0 9px rgba(191, 191, 191, 0.36);
  border-left: 1px solid rgba(222, 227, 231, 0.56);
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.builder:after {
  position: absolute;
  content: '';
  background-color: #fff;
  width: 5px;
  height: 50px;
  left: 0;
  top: 20%;
}
.builder .btn-toggle-theme > img {
  opacity: 1 !important;
}
.builder .btn-toggle-theme p {
  line-height: 18px;
}
.rtl .builder .builder-toggle {
  left: auto;
  right: -48px;
}
.content-builder {
  display: none;
}
.content-builder.active {
  display: block;
}
.content-builder .placeholder {
  position: relative;
}
.content-builder .placeholder:after {
  content: "Content goes here";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
  right: 0;
  text-align: center;
  font-size: 26px;
  opacity: .16;
  color: #626262;
}
.previewer {
  height: 35px;
}
/* Demo Widths For GIF Animations 
------------------------------------
*/
.demo-bg-hinted {
  background-color: #939393;
}
.demo-fs-23 {
  font-size: 23px !important;
}
.demo-mw-50 {
  max-width: 50px;
}
.demo-mw-300 {
  max-width: 300px;
}
.demo-mw-350 {
  max-width: 350px;
}
.demo-mw-400 {
  max-width: 400px;
}
.demo-mw-500 {
  max-width: 500px;
}
.demo-mw-600 {
  max-width: 600px;
}
.demo-container {
  height: 2000px;
}
/* Views page */
.view-iframe-wrapper {
  width: 100%;
  height: 255px;
  background: #fff;
  position: relative;
}
.view-iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  padding: 45px 45px 0 45px;
}
@media (max-width: 1200px) {
  .view-iframe-wrapper iframe {
    padding: 0;
  }
}
.menu-items .menu-icon-dashboard {
  background-image: url(/assets/img/menu-icons.png);
  background-repeat: no-repeat;
  background-position: -155px -5px;
  width: 40px;
  height: 40px;
  color: transparent !important;
}
.menu-items .menu-icon-deposits {
  background-image: url(/assets/img/menu-icons.png);
  background-repeat: no-repeat;
  background-position: -45px -55px;
  width: 30px;
  height: 30px;
  color: transparent !important;
}
.menu-items li:hover .menu-icon-dashboard {
  background-position: -105px -5px;
  width: 40px;
  height: 40px;
}
.menu-items li.open .menu-icon-dashboard {
  background-position: -105px -5px;
  width: 40px;
  height: 40px;
}
.menu-items .sub-menu li.active .menu-icon-deposits {
  background-position: -5px -55px;
  width: 30px;
  height: 30px;
}
.menu-items .sub-menu li:hover .menu-icon-deposits {
  background-position: -5px -55px;
  width: 30px;
  height: 30px;
}
.cohort-table th {
  text-align: center;
}
.cohort-table .cell-percent {
  text-align: center;
  font-size: 1.2em;
}
.cohort-table .cell-players {
  text-align: center;
  font-size: 0.7em;
}
.cohort-table .cell-trajectory-up {
  position: relative;
}
.cohort-table .cell-trajectory-up:after {
  /* Magic Happens Here!!! */
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  display: block;
  border-left: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-top: 5px solid green;
}
.cohort-table .cell-trajectory-down {
  position: relative;
}
.cohort-table .cell-trajectory-down:after {
  /* Magic Happens Here!!! */
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  display: block;
  border-left: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-top: 5px solid red;
}
.cohort-table .cell-max {
  position: relative;
}
.cohort-table .cell-max:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  /*background: repeating-linear-gradient( 45deg, rgba(244, 208, 63, 0.15), rgba(244,208,63,0.15) 5px, rgba(70, 82, 152, 0) 5px, rgba(70, 82, 152, 0) 15px );*/
  border: 3px dashed #f4d03f;
}
.ag-cohort-table .ag-header-cell-label {
  text-align: center;
}
.ag-cohort-table .ag-floating-top .ag-row {
  background-color: #f0f0f0;
}
.ag-cohort-table .ag-cell.ag-cell-type-cohort-ignore {
  color: #f0f3f6;
}
.ag-cohort-table .ag-cell.ag-cell-type-cohort-mute {
  color: #aab4bb;
}
.ag-cohort-table .ag-row-selected .ag-cell {
  border-top: 1px solid red;
  border-bottom: 1px solid red;
}
.ag-cohort-table .ag-row {
  border-top: none;
  border-bottom: none;
}
.ag-cohort-table .ag-cell {
  padding: 5px;
  line-height: 1.42857;
  border: 1px solid #F2F5F8;
  color: #8896a0;
  vertical-align: middle;
  font-size: 12px;
}
.ag-cohort-table .ag-cell-type-grey {
  background-color: #f0f0f0;
  font-size: 14px;
  text-align: center;
}
.ag-cohort-table .ag-cell-type-cohort {
  font-size: 14px;
  text-align: center;
  line-height: 1.42857;
}
.ag-cohort-table .cell-players {
  text-align: center;
  font-size: 0.7em;
}
.ag-cohort-table .cell-percent {
  text-align: center;
  font-size: 1.2em;
}
.visible-xlg {
  display: none;
}
.hidden-xlg {
  display: block;
}
/*** Large screens ***/
@media (min-width: 1824px) {
  .visible-xlg {
    display: block !important;
  }
  .hidden-xlg {
    display: none !important;
  }
  .quickview-wrapper .tab-content #quickview-notes > .inner {
    width: 570px;
  }
  .container-fluid.container-fixed-lg {
    width: 1700px;
    margin-right: auto;
    margin-left: auto;
  }
  .menu-pin .container-fluid.container-fixed-lg {
    width: 1420px;
  }
  .visible-xlg {
    display: block !important;
  }
  .hidden-xlg {
    display: none !important;
  }
  .col-xlg-1,
  .col-xlg-2,
  .col-xlg-3,
  .col-xlg-4,
  .col-xlg-5,
  .col-xlg-6,
  .col-xlg-7,
  .col-xlg-8,
  .col-xlg-9,
  .col-xlg-10,
  .col-xlg-11 {
    float: left;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
  }
  .col-xlg-12 {
    float: left;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
    width: 100%;
  }
  .col-xlg-11 {
    width: 91.6667%;
  }
  .col-xlg-10 {
    width: 83.3333%;
  }
  .col-xlg-9 {
    width: 75%;
  }
  .col-xlg-8 {
    width: 66.6667%;
  }
  .col-xlg-7 {
    width: 58.3333%;
  }
  .col-xlg-6 {
    width: 50%;
  }
  .col-xlg-5 {
    width: 41.6667%;
  }
  .col-xlg-4 {
    width: 33.3333%;
  }
  .col-xlg-3 {
    width: 25%;
  }
  .col-xlg-2 {
    width: 16.6667%;
  }
  .col-xlg-1 {
    width: 8.33333%;
  }
  .col-xlg-pull-12 {
    right: 100%;
  }
  .col-xlg-pull-11 {
    right: 91.6667%;
  }
  .col-xlg-pull-10 {
    right: 83.3333%;
  }
  .col-xlg-pull-9 {
    right: 75%;
  }
  .col-xlg-pull-8 {
    right: 66.6667%;
  }
  .col-xlg-pull-7 {
    right: 58.3333%;
  }
  .col-xlg-pull-6 {
    right: 50%;
  }
  .col-xlg-pull-5 {
    right: 41.6667%;
  }
  .col-xlg-pull-4 {
    right: 33.3333%;
  }
  .col-xlg-pull-3 {
    right: 25%;
  }
  .col-xlg-pull-2 {
    right: 16.6667%;
  }
  .col-xlg-pull-1 {
    right: 8.33333%;
  }
  .col-xlg-pull-0 {
    right: 0;
  }
  .col-xlg-push-12 {
    left: 100%;
  }
  .col-xlg-push-11 {
    left: 91.6667%;
  }
  .col-xlg-push-10 {
    left: 83.3333%;
  }
  .col-xlg-push-9 {
    left: 75%;
  }
  .col-xlg-push-8 {
    left: 66.6667%;
  }
  .col-xlg-push-7 {
    left: 58.3333%;
  }
  .col-xlg-push-6 {
    left: 50%;
  }
  .col-xlg-push-5 {
    left: 41.6667%;
  }
  .col-xlg-push-4 {
    left: 33.3333%;
  }
  .col-xlg-push-3 {
    left: 25%;
  }
  .col-xlg-push-2 {
    left: 16.6667%;
  }
  .col-xlg-push-1 {
    left: 8.33333%;
  }
  .col-xlg-push-0 {
    left: 0;
  }
  .col-xlg-offset-12 {
    margin-left: 100%;
  }
  .col-xlg-offset-11 {
    margin-left: 91.6667%;
  }
  .col-xlg-offset-10 {
    margin-left: 83.3333%;
  }
  .col-xlg-offset-9 {
    margin-left: 75%;
  }
  .col-xlg-offset-8 {
    margin-left: 66.6667%;
  }
  .col-xlg-offset-7 {
    margin-left: 58.3333%;
  }
  .col-xlg-offset-6 {
    margin-left: 50%;
  }
  .col-xlg-offset-5 {
    margin-left: 41.6667%;
  }
  .col-xlg-offset-4 {
    margin-left: 33.3333%;
  }
  .col-xlg-offset-3 {
    margin-left: 25%;
  }
  .col-xlg-offset-2 {
    margin-left: 16.6667%;
  }
  .col-xlg-offset-1 {
    margin-left: 8.33333%;
  }
  .col-xlg-offset-0 {
    margin-left: 0;
  }
}
/*** Desktops ***/
/*** Medium Size Screen ***/
@media only screen and (max-width: 1400px) {
  .page-sidebar .page-sidebar-inner .sidebar-slide .sidebar-menu {
    bottom: 50px;
  }
  .page-sidebar .page-sidebar-inner .sidebar-slide .sidebar-widgets {
    display: none;
  }
  .footer-widget {
    padding: 11px 21px !important;
  }
}
/*** Desktops & Laptops ***/
@media only screen and (min-width: 980px) {
  body.ie9.menu-pin .page-sidebar {
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
  }
  body.menu-pin {
    overflow-x: hidden;
  }
  body.menu-pin .header .brand {
    width: 280px;
  }
  body.menu-pin .page-container {
    padding-left: 0;
  }
  body.menu-pin .page-container .page-content-wrapper .content {
    padding-left: 280px;
  }
  body.menu-pin .page-container .page-content-wrapper .footer {
    left: 280px;
  }
  body.menu-pin [data-toggle-pin="sidebar"] > i:before {
    content: "\f192";
  }
  body.menu-pin .page-sidebar {
    transform: translate(210px, 0) !important;
    -webkit-transform: translate(210px, 0) !important;
    -ms-transform: translate(210px, 0) !important;
  }
  body.menu-pin .page-sidebar {
    width: 280px;
  }
  body.menu-pin .page-sidebar .menu-items .icon-thumbnail {
    -webkit-transform: translate3d(-14px, 0, 0);
    transform: translate3d(-14px, 0, 0);
    -ms-transform: translate(-14px, 0);
  }
  body.menu-behind .page-sidebar {
    z-index: 799;
  }
  body.menu-behind .header .brand {
    width: 200px;
    text-align: left;
    padding-left: 20px;
  }
  body.box-layout {
    background-color: #ffffff;
  }
  body.box-layout > .container,
  body.box-layout > .full-height > .container {
    height: 100%;
    padding: 0;
    background-color: #fafafa;
  }
  body.box-layout .header {
    background-color: transparent;
    border: 0;
    padding: 0;
  }
  body.box-layout .header > .container {
    background-color: #fff;
    border-bottom: 1px solid rgba(230, 230, 230, 0.7);
    padding: 0 20px 0 0;
  }
  body.box-layout .page-sidebar {
    left: auto;
    transform: none !important;
    -webkit-transform: none !important;
  }
  body.box-layout .page-container .page-content-wrapper .footer {
    width: auto;
  }
  .header .brand {
    position: relative;
  }
  .header .user-info-wrapper .user-details .user-name {
    font-size: 16px;
  }
  .header .user-info-wrapper .user-details .user-other {
    font-size: 10px;
  }
  .header .user-info-wrapper .user-pic {
    position: relative;
    top: -6px;
  }
  .notification-panel {
    width: 400px;
  }
}
/*** General Small Screen Desktops ***/
/*** General tablets and phones ***/
@media (max-width: 991px) {
  .page-container {
    padding-left: 0;
  }
  body.sidebar-open .page-container {
    -webkit-transform: translate3d(250px, 0, 0);
    transform: translate3d(250px, 0, 0);
    -ms-transform: translate(250px, 0);
    overflow: hidden;
    position: fixed;
  }
  body.sidebar-open .push-on-sidebar-open {
    -webkit-transform: translate3d(250px, 0, 0);
    transform: translate3d(250px, 0, 0);
    -ms-transform: translate(250px, 0);
    overflow: hidden;
  }
  body.box-layout > .container {
    padding: 0;
    height: 100%;
  }
  body.box-layout .header > .container {
    padding: 0;
  }
  body.box-layout .header > .container .pull-right .sm-action-bar {
    right: 0;
  }
  body.menu-opened.horizontal-menu {
    overflow-y: hidden;
  }
  body.menu-opened.horizontal-menu .bar {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    -ms-transform: translate(0%, 0);
  }
  .header {
    padding: 0 10px;
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    background: #fff !important;
  }
  .header .header-wrapper {
    width: 80%;
    margin: auto;
    float: none !important;
  }
  .header .header-inner {
    text-align: center;
  }
  .header .header-inner .mark-email {
    left: 45px;
    position: absolute;
    top: 23px;
  }
  .header .header-inner .quickview-link {
    position: absolute;
    right: 0;
    top: 12px;
  }
  .header .brand {
    width: auto;
  }
  .header .notification-list,
  .header .search-link {
    display: none;
  }
  .header > .pull-left,
  .header > .pull-right {
    position: relative;
  }
  .header > .pull-right .sm-action-bar {
    right: 0;
  }
  .sm-action-bar {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
  }
  .sm-action-bar > a {
    padding: 10px;
    display: inline-block;
  }
  .pace .pace-activity {
    top: 60px;
  }
  .page-sidebar {
    width: 250px;
    z-index: auto;
    left: 0 !important;
    -webkit-transform: translate3d(0, 0px, 0px) !important;
    transform: translate3d(0, 0px, 0px) !important;
  }
  .page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li {
    padding: 0px 30px 0 36px;
  }
  .page-container {
    padding-left: 0;
    position: relative;
    transition: transform .25s ease;
    -webkit-transition: -webkit-transform 0.25s ease;
  }
  .page-container .page-content-wrapper .content {
    overflow-x: hidden;
    height: auto;
  }
  .icon-thumbnail {
    margin-right: 24px;
  }
  .page-sidebar {
    display: none;
    z-index: auto;
  }
  .page-sidebar.visible {
    display: block;
  }
  .page-sidebar .page-sidebar-inner {
    z-index: 1;
    left: 0 !important;
    width: 260px;
  }
  .page-sidebar .page-sidebar-inner .sidebar-slide .sidebar-menu {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    top: 40px;
    bottom: 0;
  }
  .page-sidebar .page-sidebar-inner .sidebar-slide .sidebar-menu ul > li > a > .badge {
    display: inline-block;
  }
  .secondary-sidebar {
    float: none;
    height: auto;
    left: 50%;
    margin-left: -125px;
    padding: 20px;
    position: absolute;
    right: 0;
    top: 60px;
    z-index: 9999;
    display: none;
    border-radius: 10px;
  }
  .secondary-sidebar .btn-compose {
    display: none;
  }
  .inner-content {
    margin: 0;
  }
  .breadcrumb {
    padding-left: 15px;
    padding-right: 15px;
  }
  .copyright {
    padding-left: 15px;
    padding-right: 15px;
  }
  body > .pgn-wrapper[data-position="top"] {
    top: 48px;
    left: 0;
  }
  body > .pgn-wrapper[data-position="bottom"] {
    left: 0;
  }
  body > .pgn-wrapper[data-position$='-left'] {
    left: 20px;
    right: auto;
  }
  .sm-table {
    display: table;
    width: 100%;
  }
  .user-profile-wrapper {
    position: absolute;
    right: 50px;
    top: -9px;
  }
  /*** Horizontal Menu **/
  .horizontal-menu .bar {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 250px;
    background-color: #fff;
    z-index: 10;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    right: 0;
    z-index: 1000;
    box-shadow: 0 0 9px rgba(191, 191, 191, 0.36);
    border-left: 1px solid rgba(222, 227, 231, 0.56);
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -ms-transform: translate(100%, 0);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .horizontal-menu .bar .bar-inner > ul > li {
    display: block;
  }
  .horizontal-menu .bar .bar-inner > ul > li > a .arrow {
    float: right;
    padding-right: 25px;
  }
  .horizontal-menu .bar .bar-inner > ul > li .classic {
    position: relative;
    background-color: transparent;
    top: 0;
  }
  .horizontal-menu .bar .bar-inner > ul > li .mega,
  .horizontal-menu .bar .bar-inner > ul > li.horizontal {
    position: relative;
  }
  .horizontal-menu .bar .bar-inner > ul > li > .horizontal {
    position: relative;
    top: 0;
    border-bottom: 0;
  }
  .horizontal-menu .bar .bar-inner > ul > li > .horizontal li {
    display: block;
  }
}
/* Landscape view of all tablet devices */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .page-sidebar .sidebar-menu .menu-items ul {
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    -webkit-perspective: 1000;
  }
  .page-container .page-content-wrapper .content {
    padding-top: 60px;
  }
  body.box-layout > .container {
    width: 100%;
  }
  .error-page .error-container {
    width: auto;
  }
  .secondary-sidebar {
    float: none;
    height: auto;
    left: 50%;
    margin-left: -155px;
    padding: 20px;
    position: absolute;
    right: 0;
    top: 60px;
    z-index: 9999;
    display: none;
    border-radius: 10px;
  }
  .secondary-sidebar .btn-compose {
    display: none;
  }
  .split-details {
    margin-left: 0;
  }
  .toggle-secondary-sidebar {
    display: block;
    font-size: 18px;
    left: 50%;
    margin-left: -36px;
    position: absolute;
  }
  .toggle-secondary-sidebar ~ .brand {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .sm-b-r,
  .sm-b-l,
  .sm-b-t,
  .sm-b-b {
    border-width: 0;
  }
  .sm-b-r {
    border-right-width: 1px;
  }
  .sm-b-l {
    border-left-width: 1px;
  }
  .sm-b-t {
    border-top-width: 1px;
  }
  .sm-b-b {
    border-bottom-width: 1px;
  }
}
@media (min-width: 1200px) {
  .row-same-height {
    overflow: hidden;
  }
  .row-same-height > [class*="col-lg"] {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
  }
}
@media (min-width: 992px) {
  .row-same-height {
    overflow: hidden;
  }
  .row-same-height > [class*="col-md"] {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
  }
  .horizontal-menu .bar {
    display: table !important;
  }
  .horizontal-menu .bar + div {
    padding-top: 50px;
  }
}
@media (min-width: 768px) {
  .row-same-height {
    overflow: hidden;
  }
  .row-same-height > [class*="col-sm"] {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
  }
  .box-layout .container .jumbotron,
  .container-fluid .jumbotron {
    padding: 0;
  }
  .dataTables_wrapper.form-inline .checkbox input[type=checkbox],
  .form-inline .radio input[type=radio] {
    position: absolute;
  }
}
/* Portrait view of all tablet devices */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
  .page-sidebar .sidebar-menu .menu-items > li > a {
    padding-left: 27px;
  }
  .page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li {
    padding: 0px 27px 0 31px;
  }
  .icon-thumbnail {
    margin-right: 21px;
  }
  .error-page .error-container {
    width: auto;
  }
}
@media (max-width: 979px) {
  .toggle-secondary-sidebar {
    font-size: 18px;
    position: static;
    display: block;
  }
  .toggle-secondary-sidebar ~ .brand {
    display: none !important;
  }
  .secondary-sidebar {
    float: none;
    height: auto;
    left: 50%;
    margin-left: -125px;
    padding: 20px;
    position: absolute;
    right: 0;
    top: 60px;
    z-index: 9999;
    display: none;
    border-radius: 10px;
  }
  .secondary-sidebar .btn-compose {
    display: none;
  }
  .split-view .split-list {
    width: 100%;
    height: auto;
    bottom: 50px;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 1000;
    float: none;
  }
  .split-view .split-list .item {
    padding: 8px;
  }
  .split-view .split-list .item .inline {
    margin-left: 5px;
    width: 188px;
  }
  .split-view .split-details {
    margin-left: 0;
    width: 100%;
  }
  .split-view .split-details .email-content-wrapper {
    overflow: auto;
    padding: 0;
    height: calc(100% - 50px);
  }
  .split-view .split-details .email-content-wrapper .email-content {
    width: 90%;
  }
  .compose-wrapper {
    display: block !important;
  }
  .compose-wrapper .btn-compose {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .header {
    height: 48px;
  }
  .header .notification-list,
  .header .search-link {
    display: none;
  }
  .header .header-inner {
    height: 48px;
  }
  .header .user-info-wrapper {
    display: none;
  }
  .header .search-link {
    height: 19px;
    width: 16px;
    overflow: hidden;
  }
  .jumbotron,
  .container-fluid {
    padding-left: 8px;
    padding-right: 8px;
  }
  .page-title {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .page-container .page-content-wrapper .content {
    padding-top: 48px;
    padding-bottom: 100px;
  }
  .page-sidebar .sidebar-header {
    padding: 0 12px;
  }
  .page-sidebar .sidebar-menu .menu-items > li > a {
    padding-left: 20px;
  }
  .page-sidebar .sidebar-menu .menu-items > li ul.sub-menu > li {
    padding: 0px 25px 0 28px;
  }
  .icon-thumbnail {
    margin-right: 20px;
  }
  .secondary-sidebar {
    top: 48px;
  }
  .split-details {
    margin-left: 0;
  }
  .email-composer {
    padding-left: 30px;
    padding-right: 30px;
  }
  .sm-pull-bottom,
  .sm-pull-up {
    position: relative !important;
  }
  .page-bar {
    margin-left: -8px !important;
    margin-right: -8px !important;
  }
  .sm-p-t-0 {
    padding-top: 0px !important;
  }
  .sm-p-r-0 {
    padding-right: 0px !important;
  }
  .sm-p-l-0 {
    padding-left: 0px !important;
  }
  .sm-p-b-0 {
    padding-bottom: 0px !important;
  }
  .sm-padding-0 {
    padding: 0px !important;
  }
  .sm-p-t-5 {
    padding-top: 5px !important;
  }
  .sm-p-r-5 {
    padding-right: 5px !important;
  }
  .sm-p-l-5 {
    padding-left: 5px !important;
  }
  .sm-p-b-5 {
    padding-bottom: 5px !important;
  }
  .sm-padding-5 {
    padding: 5px !important;
  }
  .sm-p-t-10 {
    padding-top: 10px !important;
  }
  .sm-p-r-10 {
    padding-right: 10px !important;
  }
  .sm-p-l-10 {
    padding-left: 10px !important;
  }
  .sm-p-b-10 {
    padding-bottom: 10px !important;
  }
  .sm-padding-10 {
    padding: 10px !important;
  }
  .sm-p-t-15 {
    padding-top: 15px !important;
  }
  .sm-p-r-15 {
    padding-right: 15px !important;
  }
  .sm-p-l-15 {
    padding-left: 15px !important;
  }
  .sm-p-b-15 {
    padding-bottom: 15px !important;
  }
  .sm-padding-15 {
    padding: 15px !important;
  }
  .sm-p-t-20 {
    padding-top: 20px !important;
  }
  .sm-p-r-20 {
    padding-right: 20px !important;
  }
  .sm-p-l-20 {
    padding-left: 20px !important;
  }
  .sm-p-b-20 {
    padding-bottom: 20px !important;
  }
  .sm-padding-20 {
    padding: 20px !important;
  }
  .sm-p-t-25 {
    padding-top: 25px !important;
  }
  .sm-p-r-25 {
    padding-right: 25px !important;
  }
  .sm-p-l-25 {
    padding-left: 25px !important;
  }
  .sm-p-b-25 {
    padding-bottom: 25px !important;
  }
  .sm-padding-25 {
    padding: 25px !important;
  }
  .sm-p-t-30 {
    padding-top: 30px !important;
  }
  .sm-p-r-30 {
    padding-right: 30px !important;
  }
  .sm-p-l-30 {
    padding-left: 30px !important;
  }
  .sm-p-b-30 {
    padding-bottom: 30px !important;
  }
  .sm-padding-30 {
    padding: 30px !important;
  }
  .sm-p-t-35 {
    padding-top: 35px !important;
  }
  .sm-p-r-35 {
    padding-right: 35px !important;
  }
  .sm-p-l-35 {
    padding-left: 35px !important;
  }
  .sm-p-b-35 {
    padding-bottom: 35px !important;
  }
  .sm-padding-35 {
    padding: 35px !important;
  }
  .sm-p-t-40 {
    padding-top: 40px !important;
  }
  .sm-p-r-40 {
    padding-right: 40px !important;
  }
  .sm-p-l-40 {
    padding-left: 40px !important;
  }
  .sm-p-b-40 {
    padding-bottom: 40px !important;
  }
  .sm-padding-40 {
    padding: 40px !important;
  }
  .sm-p-t-45 {
    padding-top: 45px !important;
  }
  .sm-p-r-45 {
    padding-right: 45px !important;
  }
  .sm-p-l-45 {
    padding-left: 45px !important;
  }
  .sm-p-b-45 {
    padding-bottom: 45px !important;
  }
  .sm-padding-45 {
    padding: 45px !important;
  }
  .sm-p-t-50 {
    padding-top: 50px !important;
  }
  .sm-p-r-50 {
    padding-right: 50px !important;
  }
  .sm-p-l-50 {
    padding-left: 50px !important;
  }
  .sm-p-b-50 {
    padding-bottom: 50px !important;
  }
  .sm-padding-50 {
    padding: 50px !important;
  }
  .sm-m-t-5 {
    margin-top: 5px !important;
  }
  .sm-m-r-5 {
    margin-right: 5px !important;
  }
  .sm-m-l-5 {
    margin-left: 5px !important;
  }
  .sm-m-b-5 {
    margin-bottom: 5px !important;
  }
  .sm-m-t-10 {
    margin-top: 10px !important;
  }
  .sm-m-r-10 {
    margin-right: 10px !important;
  }
  .sm-m-l-10 {
    margin-left: 10px !important;
  }
  .sm-m-b-10 {
    margin-bottom: 10px !important;
  }
  .sm-m-t-15 {
    margin-top: 15px !important;
  }
  .sm-m-r-15 {
    margin-right: 15px !important;
  }
  .sm-m-l-15 {
    margin-left: 15px !important;
  }
  .sm-m-b-15 {
    margin-bottom: 15px !important;
  }
  .sm-m-t-20 {
    margin-top: 20px !important;
  }
  .sm-m-r-20 {
    margin-right: 20px !important;
  }
  .sm-m-l-20 {
    margin-left: 20px !important;
  }
  .sm-m-b-20 {
    margin-bottom: 20px !important;
  }
  .sm-m-t-25 {
    margin-top: 25px !important;
  }
  .sm-m-r-25 {
    margin-right: 25px !important;
  }
  .sm-m-l-25 {
    margin-left: 25px !important;
  }
  .sm-m-b-25 {
    margin-bottom: 25px !important;
  }
  .sm-m-t-30 {
    margin-top: 30px !important;
  }
  .sm-m-r-30 {
    margin-right: 30px !important;
  }
  .sm-m-l-30 {
    margin-left: 30px !important;
  }
  .sm-m-b-30 {
    margin-bottom: 30px !important;
  }
  .sm-m-t-35 {
    margin-top: 35px !important;
  }
  .sm-m-r-35 {
    margin-right: 35px !important;
  }
  .sm-m-l-35 {
    margin-left: 35px !important;
  }
  .sm-m-b-35 {
    margin-bottom: 35px !important;
  }
  .sm-m-t-40 {
    margin-top: 40px !important;
  }
  .sm-m-r-40 {
    margin-right: 40px !important;
  }
  .sm-m-l-40 {
    margin-left: 40px !important;
  }
  .sm-m-b-40 {
    margin-bottom: 40px !important;
  }
  .sm-m-t-45 {
    margin-top: 45px !important;
  }
  .sm-m-r-45 {
    margin-right: 45px !important;
  }
  .sm-m-l-45 {
    margin-left: 45px !important;
  }
  .sm-m-b-45 {
    margin-bottom: 45px !important;
  }
  .sm-m-t-50 {
    margin-top: 50px !important;
  }
  .sm-m-r-50 {
    margin-right: 50px !important;
  }
  .sm-m-l-50 {
    margin-left: 50px !important;
  }
  .sm-m-b-50 {
    margin-bottom: 50px !important;
  }
  .sm-no-margin {
    margin: 0px;
  }
  .sm-no-padding {
    padding: 0px;
  }
  .sm-text-right {
    text-align: right !important;
  }
  .sm-text-left {
    text-align: left !important;
  }
  .sm-text-center {
    text-align: center !important;
  }
  .sm-pull-right {
    float: right !important;
  }
  .sm-pull-left {
    float: left !important;
  }
  .sm-pull-reset {
    float: none !important;
  }
  .sm-block {
    display: block;
  }
  .error-container {
    width: auto;
  }
  .sm-image-responsive-height {
    width: 100%;
    height: auto;
  }
}
/*** Phones ***/
@media (max-width: 480px) {
  body {
    width: 100%;
  }
  body .header {
    width: 100%;
    height: 48px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  }
  body .header .header-inner {
    height: 48px;
    text-align: center;
  }
  body .header .header-inner .toggle-secondary-sidebar {
    font-size: 16px;
    top: 12px;
  }
  body .header .header-inner .mark-email {
    left: 35px;
    top: 14px;
  }
  body .header .header-inner .quickview-link {
    top: 14px;
  }
  body .header .notification-list,
  body .header .search-link {
    display: none;
  }
  body .header .dropdown-submenu {
    top: 12px;
  }
  body .header .notification-list,
  body .header .search-link {
    display: none;
  }
  body #overlay-search {
    font-size: 48px;
    height: 118px;
    line-height: 46px;
  }
  .page-sidebar .sidebar-header {
    height: 48px;
    line-height: 48px;
  }
  .panel .panel-heading {
    padding-left: 15px;
  }
  .panel .panel-body {
    padding: 15px;
    padding-top: 0;
  }
  .error-page {
    padding: 15px;
  }
  .error-page .error-container {
    margin-top: 30px;
    width: auto;
  }
  .error-page .pull-bottom {
    position: relative;
  }
  .map-controls {
    left: 10px;
  }
  .register-container {
    height: auto !important;
  }
  .error-container-innner {
    width: auto;
  }
}
/*** Retina Display Images **/
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 200/100), only screen and (min-device-pixel-ratio: 2) {
  .icon-set {
    background: url('../img/icons/top_tray_2x.png');
    position: relative;
    background-size: 95px 19px;
  }
  .editor-icon {
    background-image: url("../img/editor_tray_2x.png");
    background-size: 480px 40px;
  }
  .alert .close {
    background: url("../img/icons/noti-cross-2x.png") no-repeat scroll 0 0 transparent;
    background-position: -9px -10px;
    width: 10px;
    height: 9px;
    position: relative;
    opacity: 0.8;
    background-size: 114px 29px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZHVsZXMvbGF5b3V0Lmxlc3MiLCJtaXhpbnMubGVzcyIsIm1vZHVsZXMvZGlyZWN0aW9uLmxlc3MiLCJ0aGVtZXMvcHJveGltYS92YXIubGVzcyIsIm1vZHVsZXMvdmlldy5sZXNzIiwibW9kdWxlcy9jaGF0Lmxlc3MiLCJtb2R1bGVzL3BhbmVscy5sZXNzIiwibW9kdWxlcy90eXBvZ3JhcGh5Lmxlc3MiLCJtb2R1bGVzL2J1dHRvbnMubGVzcyIsIm1vZHVsZXMvYWxlcnRzLmxlc3MiLCJtb2R1bGVzL25vdGlmaWNhdGlvbnMubGVzcyIsIm1vZHVsZXMvcHJvZ3Jlc3NfaW5kaWNhdG9ycy5sZXNzIiwibW9kdWxlcy9tb2RhbHMubGVzcyIsIm1vZHVsZXMvdGFic19hY2NvcmRpYW4ubGVzcyIsIm1vZHVsZXMvc2xpZGVycy5sZXNzIiwibW9kdWxlcy90cmVldmlldy5sZXNzIiwibW9kdWxlcy9uZXN0YWJsZXMubGVzcyIsIm1vZHVsZXMvZm9ybV9lbGVtZW50cy5sZXNzIiwibW9kdWxlcy9jaGFydHMubGVzcyIsIm1vZHVsZXMvbGlzdC5sZXNzIiwibW9kdWxlcy9lbWFpbC5sZXNzIiwibW9kdWxlcy9jYWxlbmRhci5sZXNzIiwibW9kdWxlcy9sb2dpbi5sZXNzIiwibW9kdWxlcy9sb2NrX3NjcmVlbi5sZXNzIiwibW9kdWxlcy90aW1lbGluZS5sZXNzIiwibW9kdWxlcy93aWRnZXRzLmxlc3MiLCJtb2R1bGVzL21pc2MubGVzcyIsIm1vZHVsZXMvcHJpbnQubGVzcyIsIm1vZHVsZXMvZGVtby5sZXNzIiwibW9kdWxlcy9tZW51Lmxlc3MiLCJtb2R1bGVzL2NvaG9ydC5sZXNzIiwicmVzcG9uc2l2ZS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0VBQ0ksWUFBQTs7Ozs7QUFLSjtFQUNJLFlBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLHlCQUFBO0VB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a0JBQUE7O0VBRUYsUUFBUTtJQUNOLG9CQUFBOztFQUVGLFlBQVk7SUFDVixhQUFBOztFQWJGLFFBQVE7SUFDTixpQkFBQTs7RUFFRixRQUFRO0lBQ04sbUJBQUE7O0VBRUYsUUFBUTtJQUNOLGtCQUFBOztFQUVGLFFBQVE7SUFDTixvQkFBQTs7RUFFRixZQUFZO0lBQ1YsYUFBQTs7RUFiRixRQUFRO0lBQ04saUJBQUE7O0VBRUYsUUFBUTtJQUNOLG1CQUFBOztFQUVGLFFBQVE7SUFDTixrQkFBQTs7RUFFRixRQUFRO0lBQ04sb0JBQUE7O0VBRUYsWUFBWTtJQUNWLGFBQUE7O0VBYkYsUUFBUTtJQUNOLGlCQUFBOztFQUVGLFFBQVE7SUFDTixtQkFBQTs7RUFFRixRQUFRO0lBQ04sa0JBQUE7O0VBRUYsUUFBUTtJQUNOLG9CQUFBOztFQUVGLFlBQVk7SUFDVixhQUFBOztFQWJGLFFBQVE7SUFDTixpQkFBQTs7RUFFRixRQUFRO0lBQ04sbUJBQUE7O0VBRUYsUUFBUTtJQUNOLGtCQUFBOztFQUVGLFFBQVE7SUFDTixvQkFBQTs7RUFFRixZQUFZO0lBQ1YsYUFBQTs7RUFiRixRQUFRO0lBQ04saUJBQUE7O0VBRUYsUUFBUTtJQUNOLG1CQUFBOztFQUVGLFFBQVE7SUFDTixrQkFBQTs7RUFFRixRQUFRO0lBQ04sb0JBQUE7O0VBRUYsWUFBWTtJQUNWLGFBQUE7O0VBU0YsUUFBUTtJQUNOLGVBQUE7O0VBRUYsUUFBUTtJQUNOLGlCQUFBOztFQUVGLFFBQVE7SUFDTixnQkFBQTs7RUFFRixRQUFRO0lBQ04sa0JBQUE7O0VBVkYsUUFBUTtJQUNOLGdCQUFBOztFQUVGLFFBQVE7SUFDTixrQkFBQTs7RUFFRixRQUFRO0lBQ04saUJBQUE7O0VBRUYsUUFBUTtJQUNOLG1CQUFBOztFQVZGLFFBQVE7SUFDTixnQkFBQTs7RUFFRixRQUFRO0lBQ04sa0JBQUE7O0VBRUYsUUFBUTtJQUNOLGlCQUFBOztFQUVGLFFBQVE7SUFDTixtQkFBQTs7RUFWRixRQUFRO0lBQ04sZ0JBQUE7O0VBRUYsUUFBUTtJQUNOLGtCQUFBOztFQUVGLFFBQVE7SUFDTixpQkFBQTs7RUFFRixRQUFRO0lBQ04sbUJBQUE7O0VBVkYsUUFBUTtJQUNOLGdCQUFBOztFQUVGLFFBQVE7SUFDTixrQkFBQTs7RUFFRixRQUFRO0lBQ04saUJBQUE7O0VBRUYsUUFBUTtJQUNOLG1CQUFBOztFQVZGLFFBQVE7SUFDTixnQkFBQTs7RUFFRixRQUFRO0lBQ04sa0JBQUE7O0VBRUYsUUFBUTtJQUNOLGlCQUFBOztFQUVGLFFBQVE7SUFDTixtQkFBQTs7RUFWRixRQUFRO0lBQ04sZ0JBQUE7O0VBRUYsUUFBUTtJQUNOLGtCQUFBOztFQUVGLFFBQVE7SUFDTixpQkFBQTs7RUFFRixRQUFRO0lBQ04sbUJBQUE7O0VBVkYsUUFBUTtJQUNOLGdCQUFBOztFQUVGLFFBQVE7SUFDTixrQkFBQTs7RUFFRixRQUFRO0lBQ04saUJBQUE7O0VBRUYsUUFBUTtJQUNOLG1CQUFBOztFQVZGLFFBQVE7SUFDTixnQkFBQTs7RUFFRixRQUFRO0lBQ04sa0JBQUE7O0VBRUYsUUFBUTtJQUNOLGlCQUFBOztFQUVGLFFBQVE7SUFDTixtQkFBQTs7RUFWRixRQUFRO0lBQ04sZ0JBQUE7O0VBRUYsUUFBUTtJQUNOLGtCQUFBOztFQUVGLFFBQVE7SUFDTixpQkFBQTs7RUFFRixRQUFRO0lBQ04sbUJBQUE7O0VBSUo7SUFDRSxXQUFBOztFQUdGO0lBQ0UsWUFBQTs7RUFHRjtJQUNFLDRCQUFBOztFQUdGO0lBQ0UsMkJBQUE7O0VBR0Y7SUFDRSw2QkFBQTs7RUFHRjtJQUNFLHVCQUFBOztFQUdGO0lBQ0Usc0JBQUE7O0VBR0Y7SUFDRSxzQkFBQTs7RUFHRjtJQUNFLGNBQUE7O0VBR0Y7SUFDRSxXQUFBOztFQUdGO0lBQ0UsV0FBQTtJQUNBLFlBQUE7Ozs7QUF3RkosUUFuRjBCO0VBQ3hCO0lBQ0UsV0FBQTs7RUFERixJQUVFO0lBQ0UsV0FBQTtJQUNBLFlBQUE7SUFDQSw0Q0FBQTs7RUFMSixJQUVFLFFBS0U7SUFDRSxZQUFBO0lBQ0Esa0JBQUE7O0VBVE4sSUFFRSxRQUtFLGNBR0U7SUFDRSxlQUFBO0lBQ0EsU0FBQTs7RUFaUixJQUVFLFFBS0UsY0FPRTtJQUNFLFVBQUE7SUFDQSxTQUFBOztFQWhCUixJQUVFLFFBS0UsY0FXRTtJQUNFLFNBQUE7O0VBbkJSLElBRUUsUUFxQkU7RUF2QkosSUFFRSxRQXFCc0I7SUFDbEIsYUFBQTs7RUF4Qk4sSUFFRSxRQXlCRTtJQUNFLFNBQUE7O0VBNUJOLElBRUUsUUE0QkU7RUE5QkosSUFFRSxRQTRCc0I7SUFDbEIsYUFBQTs7RUEvQk4sSUFvQ0U7SUFDRSxlQUFBO0lBQ0EsYUFBQTtJQUNBLGlCQUFBOztFQUlKLGFBQWM7SUFDWixZQUFBO0lBQ0EsaUJBQUE7O0VBR0YsTUFDRTtJQUNFLGtCQUFBOztFQUZKLE1BSUU7SUFDRSxhQUFBO0lBQ0EsY0FBQTs7RUFJSjtJQUNFLGFBQUE7O0VBREYsV0FFRTtJQUNFLGdCQUFBO0lBQ0EsV0FBQTs7RUFKSixXQU1FO0lBQ0Usa0JBQUE7O0VBSUo7SUFDRSxVQUFBOztFQUdGO0lBQ0UsdUJBQUE7O0VBR0Y7SUFDRSxXQUFBOzs7O0FBNEJKLHdCQXZCNEQscURBQW9ELGtEQUFzRCxzREFBZ0Q7RUFDcE47SUFDRSxnQkFBZ0IsK0JBQWhCO0lBQ0Esa0JBQUE7SUFDQSwwQkFBQTs7RUFHRjtJQUNFLHNCQUFzQiw0QkFBdEI7SUFDQSwyQkFBQTs7RUFHRixNQUFPO0lBQ0wsZ0JBQWdCLGtFQUFoQjtJQUNBLCtCQUFBO0lBQ0EsV0FBQTtJQUNBLFdBQUE7SUFDQSxrQkFBQTtJQUNBLFlBQUE7SUFDQSwyQkFBQSIsImZpbGUiOiJwYWdlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzEuIExheW91dHNdXG4qL1xuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLyogQm9keSBUcmlnZ2VycyBmb3IgbGF5b3V0IG9wdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xuICAgIGRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbiAgICAmLmZpeGVkLWhlYWRlciB7XG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm1vYmlsZXtcbiAgICAgICAgLnNpZGViYXItbWVudSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgfVxuICAgICAgICAuc2lkZWJhci1tZW51ID4gdWwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2Utc2lkZWJhciAuc2lkZWJhci1tZW51IC5tZW51LWl0ZW1zIHtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpAY29sb3ItbWVudS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuaWNvbi10aHVtYm5haWx7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpAY29sb3ItbWVudS1saWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmLm9wZW57XG4gICAgICAgICAgICAgICAgICAgICYgPiBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmljb24tdGh1bWJuYWlse1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZHJhZ2Vye1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zaWRlYmFyLXZpc2libGV7XG4gICAgICAgIC5wYWdlLXNpZGViYXJ7XG4gICAgICAgICAgICAuc2Nyb2xsLWVsZW1lbnR7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZW51LWl0ZW1zIHtcbiAgICAgICAgICAgICAgICAuaWNvbi10aHVtYm5haWx7XG4gICAgICAgICAgICAgICAgICAgIC50cmFuc2xhdGUzZCgtMTRweCwwLDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zaWRlYmFyLWhlYWRlciAuc2lkZWJhci1oZWFkZXItY29udHJvbHN7XG4gICAgICAgICAgICAgICAgLnRyYW5zbGF0ZTNkKDQ4cHgsMCwwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgICYubWVudS1waW57XG4gICAgICAgIC5wYWdlLXNpZGViYXJ7XG4gICAgICAgICAgICAuc2lkZWJhci1oZWFkZXIgLnNpZGViYXItaGVhZGVyLWNvbnRyb2xze1xuICAgICAgICAgICAgICAgIC50cmFuc2xhdGUzZCg0OHB4LDAsMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAmLm5vLWhlYWRlcntcbiAgICAgICAgLnBhZ2UtY29udGFpbmVyIC5wYWdlLWNvbnRlbnQtd3JhcHBlciAuY29udGVudHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlcntcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuZGFzaGJvYXJke1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGFzaGJvYXJkLWJhY2tncm91bmQ7XG4gICAgICAgIC5wYWdlLWNvbnRhaW5lcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBkYXNoYm9hcmQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJ0bHtcbiAgICAgICAgW2NsYXNzXj1cImNvbC1cIl0sIFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFBhZ2UgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ucGFjZXtcbiAgICAucGFjZS1wcm9ncmVzc3tcbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgIH1cbiAgICAucGFjZS1wcm9ncmVzcy1pbm5lcntcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgLnBhY2UtYWN0aXZpdHl7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgIHRvcDogNzNweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlLXN1Y2Nlc3Muc3ZnJykgbm8tcmVwZWF0IHRvcCBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgLnJpZ2h0KDE5cHgpO1xuICAgICAgICAubGVmdChhdXRvKTtcbiAgICB9XG59XG4vKiBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5oZWFkZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogQGxheW91dC1oZWFkZXItaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5wYWRkaW5nKDAsIDIwcHgsIDAsIDApO1xuICAgIHotaW5kZXg6IEB6SW5kZXgtbmF2YmFyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGZhZGUoQGNvbG9yLW1hc3Rlci1saWdodCwgNzAlKTtcbiAgICBhe1xuICAgICAgICBjb2xvcjogIzNiNDc1MTtcbiAgICAgICAgJi5idG57XG4gICAgICAgICAgICBjb2xvcjogIzhiOTFhMDtcbiAgICAgICAgfVxuICAgICAgICAmLmJ0bi13YXJuaW5ne1xuICAgICAgICAgICAgY29sb3I6I2VhZWVmMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHVsbC1sZWZ0LCAucHVsbC1yaWdodHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmhlYWRlci1pbm5lciB7XG4gICAgICAgIGhlaWdodDogQGxheW91dC1oZWFkZXItaGVpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgLnRvZ2dsZS1zaWRlYmFye1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnRyYW5zcGFyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmJyYW5kIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG5cblx0LmJ1YmJsZXtcblx0XHRib3JkZXItcmFkaXVzOjEwMCU7XG5cdFx0aGVpZ2h0OjE0cHg7XG5cdFx0d2lkdGg6MTRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjI2LDMyLDkxLDAuNzcpO1xuXHRcdGNvbG9yOkBjb2xvci13aGl0ZTtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR0b3A6LTZweDtcblx0XHQuZmxvYXQocmlnaHQpO1xuXHRcdC5yaWdodCgtNXB4KTtcblx0fVxuICAgIC5ub3RpZmljYXRpb24tbGlzdHtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC5zZWFyY2gtbGlua3tcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIC5tYXJnaW4tbGVmdCgxNXB4KTtcbiAgICAgICAgY29sb3IgOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OkBiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICBpe1xuICAgICAgICAgICAgLm1hcmdpbi1yaWdodCgxNXB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi8qIEJvb3RzdHJhcCBuYXZiYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5uYXZiYXJ7XG4gICAgdG9wOiAtMXB4O1xufVxuLm5hdmJhci1uYXYgPiBsaSA+IGF7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG4ubmF2YmFyLWRlZmF1bHR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIC5uYXZiYXItbmF2Pi5hY3RpdmU+YSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpmb2N1c3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAubmF2YmFyLW5hdj4uYWN0aXZlPmEsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6Zm9jdXN7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB9XG5cbn1cblxuLm5hdmJhci10b2dnbGV7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLyogTWFpbiBNZW51IFNpZGViYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXG5cbi5wYWdlLXNpZGViYXJ7XG4gICAgd2lkdGg6IEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoO1xuICAgIGJhY2tncm91bmQtY29sb3I6QGNvbG9yLW1lbnU7XG4gICAgei1pbmRleDogQHpJbmRleC1zaWRlYmFyO1xuICAgIC5sZWZ0KEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoLWNvbGxhcHNlZCAtIEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICAucmlnaHQoYXV0byk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKEBtZW51LWJlemllcik7XG4gICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcihAbWVudS1iZXppZXIpO1xuICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKEBtZW51LWJlemllcik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoQG1lbnUtYmV6aWVyKTtcbi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7XG4gICAgYSxidXR0b24ge1xuICAgICAgICBjb2xvcjpAY29sb3ItbWVudS1saWdodDtcbiAgICAgICAgJjpob3ZlciwmOmFjdGl2ZXtcbiAgICAgICAgICAgIGNvbG9yOkBjb2xvci1tZW51LWxpbmstaG92ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjp2aXNpdGVkLCY6Zm9jdXN7XG4gICAgICAgICAgIGNvbG9yOkBjb2xvci1tZW51LWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zY3JvbGwtZWxlbWVudHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICAuc2lkZWJhci1oZWFkZXJ7XG4gICAgICAgIC8qIFNpZGUtYmFyIGhlYWRlciAqL1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBAbGF5b3V0LWhlYWRlci1oZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OkBsYXlvdXQtaGVhZGVyLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpAY29sb3ItbWVudS1kYXJrZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtaXgoQGNvbG9yLW1lbnUtZGFya2VyLCAjMDAwLCA5MCUpO1xuICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAucGFkZGluZy1sZWZ0KDMwcHgpO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnNpZGViYXItaGVhZGVyLWNvbnRyb2xze1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcihAbWVudS1iZXppZXIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKEBtZW51LWJlemllcik7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAuc2lkZWJhci1zbGlkZS10b2dnbGUgaXtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCAwLjEycyBlYXNlKTtcbiAgICAgICAgfVxuICAgICAgICAuc2lkZWJhci1zbGlkZS10b2dnbGUuYWN0aXZlIGl7XG4gICAgICAgICAgICAgLnJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xvc2Utc2lkZWJhcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAucmlnaHQoMTlweCk7XG4gICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAmID4gaXtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNTcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zaWRlYmFyLW92ZXJsYXktc2xpZGV7XG4gICAgICAgIC8qIFNpZGUtYmFyIFRvcCBTbGlkZXIgKi9cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpAY29sb3ItbWVudS1kYXJrZXI7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIHBhZGRpbmc6IEBsYXlvdXQtaGVhZGVyLWhlaWdodCsyMCAyMHB4IDIwcHggMjBweDtcbiAgICAgICAgJi5mcm9tLXRvcHtcbiAgICAgICAgICAgIHRvcDotMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCAuMnMgZWFzZSk7XG4gICAgICAgICAgICAmLnNob3d7XG4gICAgICAgICAgICAgICAgLnRyYW5zbGF0ZSgwLDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zaWRlYmFyLW1lbnV7XG4gICAgICAgIC8qIFNpZGUtYmFyIE1lbnUgKi9cbiAgICAgICAgaGVpZ2h0OiBjYWxjKH4nMTAwJSAtIDUwcHgnKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLm91dGVyLXRhYi1uYXYtc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYWE2OTkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAgLm1lbnUtaXRlbXMge1xuICAgICAgICAgICAgLyogU2lkZS1iYXIgTWVudXQgSXRlbXMgKi9cbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKH4nMTAwJSAtIDEwcHgnKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJi5vcGVuLCAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5pY29uLXRodW1ibmFpbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItbWVudS1saW5rLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tZW51LWxpbmstaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdWwuc3ViLW1lbnUge1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICYub3BlbiwgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5pY29uLXRodW1ibmFpbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tZW51LXN1Yi1saW5rLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tZW51LXN1Yi1saW5rLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiBhe1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICAgICAgICAgICAgICAucGFkZGluZy1sZWZ0KDMycHgpO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBAbWVudS1pY29uLXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAbWVudS1pY29uLXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzMTMxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmZsb2F0KHJpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxvYXQocmlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIDAuMTJzIGVhc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5iYWRnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAudGl0bGV7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmRldGFpbHN7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuZGV0YWlsZWR7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gLnRpdGxle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5kZXRhaWxze1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuaWNvbi10aHVtYm5haWx7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgJi5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBhZGRpbmctbGVmdCgxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGFkZGluZy1yaWdodCgzcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAudGl0bGV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gLmRldGFpbHN7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuZGV0YWlsZWR7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAudGl0bGV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gLmRldGFpbHN7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZsb2F0KHJpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIDAuMTJzIGVhc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mbG9hdChyaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAmLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAubWFyZ2luKDAsIDAsIDEwcHgsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1lbnUtZGFyaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMCAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBhZGRpbmcoMHB4LCAyMHB4LCAwLCA0MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5pY29uLXRodW1ibmFpbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItbWVudS1zdWItbGluay1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWVudTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubXV0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICM1NzY3NzU7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNDU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmljb24tdGh1bWJuYWlsIFtjbGFzc149XCJiZy1cIl0sIFtjbGFzcyo9XCJiZy1cIl17XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbn1cbltkYXRhLXRvZ2dsZS1waW49XCJzaWRlYmFyXCJde1xuICAgICYgPiBpOmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcXGYxMGNcIjtcbiAgICB9XG59XG4vKiBTaWRlYmFyIGljb24gaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uaWNvbi10aHVtYm5haWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItbWVudS1kYXJrO1xuICAgIGhlaWdodDogQG1lbnUtaWNvbi1zaXplO1xuICAgIHdpZHRoOiBAbWVudS1pY29uLXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBtZW51LWljb24tc2l6ZTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIC5mbG9hdChyaWdodCk7XG4gICAgLm1hcmdpbi1yaWdodCgxNHB4KTtcbiAgICBjb2xvcjpAY29sb3ItbWVudS1saWdodDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcihAbWVudS1iZXppZXIpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcihAbWVudS1iZXppZXIpO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7XG4gICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIixcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICYgPiBpe1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG59XG5cbi5uYXYtY29sbGFwc2Uge1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCUgICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBTZWNvbmRhcnkgQXBwIE1lbnUgKi9cbi8vVE9ETyA6IGFkZCB0aGlzIHRvIHRoZW1lIHZhclxuQHNlY29uZGFyeS1zaWRlYmFyLXdpZHRoIDogMjUwcHg7XG5cbkBfc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yIDogbXVsdGlwbHkoQGNvbG9yLW1lbnUtbGlnaHQsIEBjb2xvci1tZW51LWxpZ2h0KTtcbkBzaWRlYmFyLWJhY2tncm91bmQtY29sb3IgOiBtaXgoQF9zaWRlYmFyLWJhY2tncm91bmQtY29sb3IgLCAjMDAwLCA4MCUpO1xuLnRvZ2dsZS1zZWNvbmRhcnktc2lkZWJhcntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6IEBzaWRlYmFyLWJhY2tncm91bmQtY29sb3I7XG4gICAgd2lkdGg6IEBzZWNvbmRhcnktc2lkZWJhci13aWR0aDtcbiAgICAuZmxvYXQobGVmdCk7XG4gICAgLnBhZGRpbmctbGVmdCg0N3B4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgICYubm90LWZpeGVke1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmJ0bi1jb21wb3NlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAubWVudS10aXRsZSB7XG4gICAgICAgIGNvbG9yOiBmYWRlKEBjb2xvci1tZW51LWxpZ2h0LCA1MCUpO1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgZm9udC1zaXplOiAxMC44cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgfVxuICAgIC5tYWluLW1lbnUge1xuICAgICAgICAucGFkZGluZy1sZWZ0KDApO1xuICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAmID4gYXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLnRpdGxle1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItY29tcGxldGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yaWdodCgtMTRweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA2LjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1lbnUtbGlnaHQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAudGl0bGV7XG4gICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcmdpbi1yaWdodCg2cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC45O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3ViLW1lbnV7XG4gICAgICAgIC5tYXJnaW4tbGVmdCgyM3B4KTtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogZmFkZShAY29sb3ItbWVudS1saWdodCw1MCUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3ViLW1lbnUgbGkgYSwgLm1haW4tbWVudSBsaSBhIHtcblxuICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1lbnUtbGlnaHQ7XG4gICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3BsaXQtdmlld3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC5zcGxpdC1saXN0IHtcbiAgICAgICAgLmZsb2F0KGxlZnQpO1xuICAgICAgICB3aWR0aDogMzYwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgIC50cmFuc2l0aW9uKGFsbCAuNXMgZWFzZSk7XG4gICAgICAgICYuc2xpZGVMZWZ0e1xuICAgICAgICAgICAgLnRyYW5zbGF0ZSgtMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3QtcmVmcmVzaHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC5yaWdodCgxOHB4KTtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgLy9jb2xvcjogIzc5ODU5MTtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogLjM0O1xuICAgICAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICB9XG4gICAgICAgIC5saXN0LXZpZXctZmFrZS1oZWFkZXIsIC5saXN0LXZpZXctZ3JvdXAtaGVhZGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgY29sb3I6IGZhZGUoQGNvbG9yLW1hc3RlciwgNzAlKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMC44cHg7XG4gICAgICAgICAgICAucGFkZGluZy1sZWZ0KDEzcHgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIGhlaWdodDogMTE3cHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGZhZGUoQGNvbG9yLW1hc3Rlci1saWdodCwgNzAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIC5pbmxpbmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcblxuICAgICAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmVjaXBpZW50cyB7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jaGVja2JveHtcbiAgICAgICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJqZWN0IHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNC4zM3B4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItaW5mbztcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ib2R5IHtcbiAgICAgICAgICAgICAgICAvLyBjb2xvcjogIzc1ODI4ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEyLjZweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRhdGV0aW1lIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3Rlci1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExLjFweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLnJpZ2h0KDIwcHgpO1xuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGxpdC1kZXRhaWxzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAubm8tcmVzdWx0e1xuICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTM0cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGlvbnN7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAucmlnaHQoLTRweCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzLjFweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4uaW5uZXItY29udGVudHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLm1hcmdpbi1sZWZ0KEBzZWNvbmRhcnktc2lkZWJhci13aWR0aCk7XG59XG5cbi8qIFF1aWNrIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5xdWlja3ZpZXctd3JhcHBlcntcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICAucmlnaHQoLUBsYXlvdXQtcmlnaHQtcXVpY2t2aWV3LXdpZHRoKTtcbiAgICB0b3A6MDtcbiAgICB3aWR0aDpAbGF5b3V0LXJpZ2h0LXF1aWNrdmlldy13aWR0aDtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm90dG9tOjA7XG4gICAgei1pbmRleDpAekluZGV4LXF1aWNrdmlldztcbiAgICBib3gtc2hhZG93OjAgMCA5cHggcmdiYSgxOTEsMTkxLDE5MSwuMzYpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyMjIsMjI3LDIzMSwuNTYpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKEBtZW51LWJlemllcik7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcihAbWVudS1iZXppZXIpO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwO1xuICAgICYub3BlbntcbiAgICAgICAgLnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgfVxuICAgIC5xdWlja3ZpZXctdG9nZ2xle1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC5yaWdodCgxMnB4KTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWVudS1saWdodDtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXYtdGFic3tcbiAgICAgICAgLyogUXVpY2t2aWV3IFRhYnMgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1lbnU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMCA0M3B4O1xuICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAmID4gYXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjExcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tZW51LWxpZ2h0O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDYycHg7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tZW51LWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICYgPiBhLCAmID4gYTpob3ZlciwgJiA+IGE6Zm9jdXN7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtaXgoQGNvbG9yLW1lbnUtbGlnaHQsICNmZmYsIDM3JSk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH4gLnRhYi1jb250ZW50e1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAzOHB4O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgJiA+IGRpdntcbiAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWx7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnF1aWNrdmlldy1ub3Rlc3tcbiAgICAgICAgICAgICAgICAvKiBRdWlja3ZpZXcgTm90ZXMgKi9cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmYmY5ZTM7XG4gICAgICAgICAgICAgICAgYSwgYnV0dG9ue1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojOTY4OTc0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIC50b29sYmFye1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowIDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojOTY4OTc0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiNGQkY5RTM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuLXJlbW92ZS1ub3Rlc3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sZWZ0KDUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcmdpbi1sZWZ0KC00MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODMlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgIzk2ODk3NDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjQycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowIDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sZWZ0e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjY1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNoZWNrYm94e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZsb2F0KGxlZnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcmdpbi1yaWdodCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJpZ2h0e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTAuNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dC1hbGlnbihyaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjM1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcmdpbi1yaWdodCgxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmNGVjZDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm5vdGV7XG4gICAgICAgICAgICAgICAgICAgIC8qIFF1aWNrdmlldyBOb3RlICovXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCdAe2Jhc2UtaW1nLXVybH0vbm90ZXNfbGluZXMucG5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC15O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjI3cHggdG9wO1xuICAgICAgICAgICAgICAgICAgICAmID4gZGl2e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTp0YWJsZTsgaGVpZ2h0OjEwMCU7IHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRvb2xiYXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmNmY2ZhO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjU1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1yb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMzMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNFREVDRUM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZsb2F0KGxlZnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojYTVhNWE1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmYWY2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzMzMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2Y5ZjFlYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJvZHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6dGFibGUtcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBkaXZ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBhZGRpbmcoMCwgMjBweCwgMCAsNDVweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b3B7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OnRhYmxlLXJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6Ym90aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZsb2F0KGxlZnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2IwYjBhODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXJnaW4tbGVmdCgxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2IwYjBhODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OnRhYmxlLXJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5xdWljay1ub3RlLWVkaXRvcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6LW1vei1zZWxlY3Rpb257XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmVmOGFlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6c2VsZWN0aW9ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZlZjhhZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBQYWdlIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnBhZ2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIC5wYWRkaW5nLWxlZnQoQGxheW91dC1zaWRlcGFuZWwtd2lkdGgtY29sbGFwc2VkKTtcbiAgICAucGFnZS1jb250ZW50LXdyYXBwZXJ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgLyogQ29udGVudCBob2xkZXIgKi9cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IEBsYXlvdXQtaGVhZGVyLWhlaWdodDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAudHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlKTtcbiAgICAgICAgICAgICYuZnVsbC13aWR0aHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50LWlubmVye1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAucGFkZGluZy1sZWZ0KDMwcHgpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6b25seS1jaGlsZHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm92ZXJsYXktZm9vdGVye1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9vdGVye1xuICAgICAgICAgICAgLyogRm9vdGVyICovXG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAudHJhbnNpdGlvbihsZWZ0IDAuM3MgZWFzZSk7XG4gICAgICAgICAgICAmLmZpeGVke1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5wYWdlLXRpdGxle1xuICAgIG1hcmdpbi10b3A6IDBweDtcbn1cbi8qIEJyZWFkY3J1bWJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYnJlYWRjcnVtYiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYSwgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICM3YjdkODI7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjojMDA5MGQ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIC5wYWRkaW5nLWxlZnQoMHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgJiArIGxpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzUxNTA1MDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbi5icmVhZGNydW1iIGEsXG4uYnJlYWRjcnVtYiBpLFxuLmJyZWFkY3J1bWIgc3BhbiwuYnJlYWRjcnVtYiBsaSB7XG4gICAgICAgIGNvbG9yOiAjN2I3ZDgyO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLmJyZWFkY3J1bWIgYTpob3ZlciBzcGFuIHtcbiAgICBjb2xvcjogIzQ4YjBmNztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogT3ZlcmxheSBTZWFyY2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5vdmVybGF5e1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgbGVmdDowO1xuICByaWdodDowO1xuICB0b3A6MDtcbiAgYm90dG9tOjA7XG4gIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTUpO1xuICB6LWluZGV4OjEyMTA7XG4gIC5wYWRkaW5nLWxlZnQoNjRweCk7XG4gIG92ZXJmbG93OmF1dG87XG4gIC5pbmxpbmUtYmxvY2t7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIH1cbiAgLm92ZXJsYXktYnJhbmR7XG4gICAgLm1hcmdpbi1sZWZ0KDdweCk7XG4gIH1cbiAgJiA+IGRpdntcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoyNjBweDtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgfVxuICAuaGFzLXJlc3VsdHN7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm92ZXJsYXktc2VhcmNoe1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICBmb250LXNpemU6IDc3cHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTEuOTI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgLnBhZGRpbmctbGVmdCgwKSAhaW1wb3J0YW50O1xuICB9XG4gIC5vdmVybGF5LWNsb3Nle1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgLnJpZ2h0KDIwcHgpO1xuICB0b3A6MjVweDtcbiAgfVxuXG59XG5cbi5ncm91cC1jb250YWluZXIge1xuXHQgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcblx0LnNpbmdsZS1ncm91cCB7XG5cdCAgdmVydGljYWwtYWxpZ246IHRvcDtcblx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0ICB9XG59XG5cbi5qdW1ib3Ryb257XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICAgICAgLmlubmVye1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICAmLmxne1xuICAgICAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgIC5jb3Zlci1waG90b3tcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLnRyYW5zaXRpb24ob3BhY2l0eSAuM3MgZWFzZSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuICAgICAgICBpbWd7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgfVxufVxuLyogUGFnZXMgSW1hZ2UgSWNvbiBTZW50IC0gUGl4ZWwgUGVyZmVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmljb24tc2V0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ0B7YmFzZS1pbWctdXJsfS9pY29ucy90b3BfdHJheS5wbmcnKSBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OmJsb2NrO1xuICAgICYuZ2xvYmUtZmlsbCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMXB4IC0xcHg7XG4gICAgICB3aWR0aDogMTdweDtcbiAgICAgIGhlaWdodDogMTdweDtcblx0ICB0b3A6MnB4O1xuICAgIH1cbiAgICAmLmNsaXAge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTJweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cbiAgICAmLmdyaWQtYm94IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MXB4IC0ycHg7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICB9XG4gICAgJi5tZW51LWhhbWJ1Z2VyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01OHB4IC0zcHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTNweDtcbiAgICB9XG4gICAgJi5tZW51LWhhbWJ1Z2VyLXBsdXMge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc3cHggLTFweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wem9uZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuZHotZGVmYXVsdC5kei1tZXNzYWdle1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuLnNjcm9sbHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG4vKiBQYWdlcyBTY3JvbGwgYmFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uc2Nyb2xsLXdyYXBwZXIge1xuICAgICYgPiAuc2Nyb2xsLWVsZW1lbnQsID4gLnNjcm9sbC1lbGVtZW50IGRpdntcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgICYgID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC5sZWZ0KDApO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAubGVmdCgwKTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAucmlnaHQoMnB4KTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgIH1cbiAgICAmID4gLnNjcm9sbC1lbGVtZW50e1xuICAgICAgICAgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgfVxuICAgICAgICAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAuc2Nyb2xsLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiM2OTc2ODY7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNjcm9sbC14e1xuICAgICAgICAgICAgLnNjcm9sbC1iYXIge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIC5sZWZ0KDJweCk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgLmxlZnQoLTRweCk7IH1cbiAgICAgICAgfVxuICAgICAgICAmLnNjcm9sbC15e1xuICAgICAgICAgICAgIC5zY3JvbGwtYmFyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgLnJpZ2h0KDApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgLnJpZ2h0KDApO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTRweDsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hdXRvLWhpZGV7XG4gICAgICAgICYgPiAuc2Nyb2xsLWVsZW1lbnR7XG4gICAgICAgICAgICAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgLmxlZnQoLTExcHgpOyB9XG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTExcHg7IH1cblxuLyogaG92ZXIgJiBkcmFnICovXG5cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuLnNjcm9sbC13cmFwcGVyID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSxcbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgLnNjcm9sbC1iYXIsXG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgLnNjcm9sbC1iYXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbC13cmFwcGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlcixcbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDdweDtcbn1cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteTpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIG1pbi13aWR0aDogN3B4O1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi8qIE90aGVyIG92ZXJpZGVzICovXG5cbi5jb250YWluZXItZmx1aWQge1xucGFkZGluZy1sZWZ0OiAzMHB4O1xucGFkZGluZy1yaWdodDogMzBweDtcblxufVxuXG4uY29weXJpZ2h0e1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZmFkZShAY29sb3ItbWFzdGVyLDclKTtcbn1cblxuLm5hdmJhci1jZW50ZXIsIC5uYXZiYXItY2VudGVyID4gbGl7XG4gICAgIGZsb2F0Om5vbmU7XG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTppbmxpbmU7IC8qIGllNyBmaXggKi9cbiAgKnpvb206MTsgLyogaGFzTGF5b3V0IGllNyB0cmlnZ2VyICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5uYXZiYXItbmF2e1xuICAgIGxpIGF7XG4gICAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICB9XG59XG5cbi5wYWdlcntcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEhvcml6b250YWwgTWVudSAqL1xuLmhvcml6b250YWwtbWVudXtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7XG4gICAgICAgIFtkYXRhLXBhZ2VzPVwic2lkZWJhclwiXSArIC5wYWdlLWNvbnRhaW5lcntcbiAgICAgICAgICAgLnBhZGRpbmctbGVmdChAbGF5b3V0LXNpZGVwYW5lbC13aWR0aC1jb2xsYXBzZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2RhdGEtcGFnZXM9XCJzaWRlYmFyXCJdICsgLnBhZ2UtY29udGFpbmVyIC5oZWFkZXIgLmJyYW5ke1xuICAgICAgICBwYWRkaW5nLWxlZnQ6aW5oZXJpdDtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgfVxuICAgICNob3Jpem9udGFsLW1lbnUtdG9nZ2xle1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGFnZS1jb250YWluZXJ7XG4gICAgICAgIC5wYWRkaW5nLWxlZnQoMCk7XG4gICAgfVxuICAgIC5oZWFkZXIgLmJyYW5ke1xuICAgICAgICAucGFkZGluZy1sZWZ0KDM1cHgpO1xuICAgICAgICAudGV4dC1hbGlnbihsZWZ0KTtcbiAgICB9XG4gICAgLmhlYWRlci1zZXBlcmF0aW9ue1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFye1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICB9XG4gICAgLmJhci1pbm5lcntcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLnBhZGRpbmctbGVmdCgxNnB4KTtcbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIixcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICYuY2xhc3NpY3tcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLm9wZW57XG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLm1lZ2EsICYuaG9yaXpvbnRhbHtcbiAgICAgICAgICAgICAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAmID4gLmFycm93e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFyZ2luLWxlZnQoOHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAwLjFzIGxpbmVhciAwcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAmID4gLmNsYXNzaWN7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5OTlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAubWVnYSwgJiA+IC5ob3Jpem9udGFse1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jbGFzc2lje1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oIGFsbCAwLjNzIGxpbmVhciAwcyk7XG4gICAgICAgICAgICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjoxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTllYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjIyNjJlO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC50cmFuc2l0aW9uKCBhbGwgMC4xcyBsaW5lYXIgMC4xcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmhvcml6b250YWx7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU5ZWM7XG4gICAgICAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjoxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3Rlci1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLm1lZ2F7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlOWVjO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51LWhlYWRpbmd7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wYWRkaW5nLWxlZnQoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU5ZWM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTgwcHgpe1xuLmhvcml6b250YWwtbWVudXtcbiAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgLm1hcmdpbi1sZWZ0KDApO1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIzcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG59XG4iLCIvL1xuLy8gTWl4aW5zXG4vLyBAY29udHJpYnV0aW9uIFRpYXLDqiBCYWxiaSBCb25hbWluaSAoQHRpYXJlYmFsYmkpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi50YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzAwMDtcbiAgLy8gV2Via2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG4uc2l6ZShAd2lkdGg7IEBoZWlnaHQpIHtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZTsgQHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7IGNvbG9yOiBAY29sb3I7IG9wYWNpdHk6IDE7IH0gLy8gRmlyZWZveCAxOStcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbiAgJi5wbGFjZWhvbGRlciAgICAgICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZhbGxiYWNrXG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi5zZWxlY3RlZChAY29sb3IsIEBiYWNrZ3JvdW5kKSB7XG4gICY6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7IC8qIFNhZmFyaSAqL1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbiAgJjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kOyAvKiBTYWZhcmkgKi9cbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci1oZWlnaHQoQGhlaWdodCkge1xuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB9XG4gICYucGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB9XG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4udGV4dC1oaWRlKCkge1xuICBmb250OiB+XCIwLzBcIiBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaW52aXNpYmxlKCl7XG4gIHZpc2liaWxpdHk6aGlkZGVuO1xufVxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubWFzayhAYXJndW1lbnRzKSB7XG4gIC13ZWJraXQtbWFzazogQGFyZ3VtZW50cztcbiAgICAgICAgICBtYXNrOiBAYXJndW1lbnRzO1xufVxuLmJveF9zY2FsZShAc2NhbGUpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHNjYWxlKTsgIFxuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHNjYWxlKTsgXG4gICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoQHNjYWxlKTsgXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAc2NhbGUpOyBcbn1cbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcbi5ib3JkZXItdG9wLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1ib3R0b20tcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLXJhZGl1cyhAcmFkaXVzKSB7XG4gICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOkByYWRpdXM7XG4gICAtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG59XG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XG59XG5cbi5hbmltYXRpb24oQHByb3BlcnRpZXMpIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEBwcm9wZXJ0aWVzO1xuICAgICAtbW96LWFuaW1hdGlvbjogQHByb3BlcnRpZXM7XG4gICAgICAgLW8tYW5pbWF0aW9uOiBAcHJvcGVydGllcztcbiAgICAgICAgICBhbmltYXRpb246IEBwcm9wZXJ0aWVzO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQHRyYW5zaXRpb247XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbn1cbi50cmFuc2xhdGUoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGVZKEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoQHkpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKEB5KTtcbn1cbi50cmFuc2xhdGVYKEB4KSB3aGVuIG5vdCAoQHJ0bCkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWChAeCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKEB4KTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChAeCk7XG59XG4udHJhbnNsYXRlWChAeCkgd2hlbiAoQHJ0bCkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMSooQHgpKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEqKEB4KSk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEqKEB4KSk7XG59XG4uc2tldyhAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeDsgQHk7IEB6KSB3aGVuIG5vdCAoQHJ0bCkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKEB4LCBAeSk7XG59XG5cbi50cmFuc2xhdGUzZChAeDsgQHk7IEB6KSB3aGVuIChAcnRsKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMSooQHgpLCBAeSwgQHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEqKEB4KSwgQHksIEB6KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC0xKihAeCksIEB5KTtcbn1cblxuLnJvdGF0ZVgoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xufVxuLnJvdGF0ZVkoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xufVxuLnBlcnNwZWN0aXZlKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xufVxuLnBlcnNwZWN0aXZlLW9yaWdpbihAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbn1cbi50cmFuc2Zvcm0tb3JpZ2luKEBvcmlnaW4pe1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xufVxuLnRyYW5zZm9ybS1zdHlsZShAc3R5bGUpe1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogQHN0eWxlO1xuICAgIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBAc3R5bGU7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IEBzdHlsZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcbi8vIFNlZSBnaXQgcHVsbCBodHRwczovL2dpdGh1Yi5jb20vZGFubnlrZWFuZS9ib290c3RyYXAuZ2l0IGJhY2tmYWNlLXZpc2liaWxpdHkgZm9yIGV4YW1wbGVzXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIEJhY2tncm91bmQgY2xpcFxuLmJhY2tncm91bmQtY2xpcChAY2xpcDogYm9yZGVyLWJveCkge1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xufVxuXG4vLyBCb3ggc2l6aW5nXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAtby11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cblxuLy8gUmVzaXplIGFueXRoaW5nXG4ucmVzaXphYmxlKEBkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiBAZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uLWNvdW50OyBAY29sdW1uLWdhcDogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogQG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogQG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbi5vcGFjaXR5KEBvcGFjaXR5KSB7XG4gIG9wYWNpdHk6IEBvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gIEBvcGFjaXR5LWllOiAoQG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IH5cImFscGhhKG9wYWNpdHk9QHtvcGFjaXR5LWllfSlcIjtcbn1cblxuXG5cbi8vIEdSQURJRU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2dyYWRpZW50IHtcblxuICAvLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBAc3RhcnQtcGVyY2VudCB0b3AsIEBlbmQtcGVyY2VudCB0b3AsIGZyb20oQHN0YXJ0LWNvbG9yKSwgdG8oQGVuZC1jb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIGNvbG9yLXN0b3AoQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50KSwgY29sb3Itc3RvcChAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCkpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC52ZXJ0aWNhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgQHN0YXJ0LXBlcmNlbnQsIGxlZnQgQGVuZC1wZXJjZW50LCBmcm9tKEBzdGFydC1jb2xvciksIHRvKEBlbmQtY29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciwgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IsIEBlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogIC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICB9XG4gIC5ob3Jpem9udGFsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxlZnQsIGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0LWNvbG9yKSwgY29sb3Itc3RvcChAY29sb3Itc3RvcCwgQG1pZC1jb2xvciksIHRvKEBlbmQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydC1jb2xvciksIGNvbG9yLXN0b3AoQGNvbG9yLXN0b3AsIEBtaWQtY29sb3IpLCB0byhAZW5kLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnJhZGlhbChAaW5uZXItY29sb3I6ICM1NTU7IEBvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oQGlubmVyLWNvbG9yKSwgdG8oQG91dGVyLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoLjI1LCBAY29sb3IpLCBjb2xvci1zdG9wKC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIEBjb2xvciksIGNvbG9yLXN0b3AoLjc1LCBAY29sb3IpLCBjb2xvci1zdG9wKC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuXG4vLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuXG5cblxuLy8gUmV0aW5hIGltYWdlc1xuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZVxuXG4uaW1nLXJldGluYShAZmlsZS0xeDsgQGZpbGUtMng7IEB3aWR0aC0xeDsgQGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMXh9XCIpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmlsZS0yeH1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBAd2lkdGgtMXggQGhlaWdodC0xeDtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrOykge1xuICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdHImIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgmLFxuICB0ZCYgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCkge1xuICAgICYsXG4gIHRyJixcbiAgdGgmLFxuICB0ZCYgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gR3JpZCBTeXN0ZW1cbi8vIC0tLS0tLS0tLS0tXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgLmNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG4ubWFrZS1yb3coQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgKEBndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKEBndXR0ZXIgLyAtMik7XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuLm1ha2UteHMtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbiBvZmZzZXRzXG4ubWFrZS1zbS1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbi5tYWtlLW1kLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW4gb2Zmc2V0c1xuLm1ha2UtbWQtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuLm1ha2UtbGctY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uIG9mZnNldHNcbi5tYWtlLWxnLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59IiwiLyohXG4qIGRpcmVjdGlvbi5sZXNzIHYwLjEuMFxuKi9cblxuLy8gTG9jYWwgdmFyc1xuXG5AcnRsOiB+YFwiQHtkaXJlY3Rpb259XCIgPT09ICdydGwnID8gJ3RydWUnIDogJ2ZhbHNlJ2A7XG5AbGVmdDogfmBAe3J0bH0gPyAncmlnaHQnIDogJ2xlZnQnYDtcbkByaWdodDogfmBAe3J0bH0gPyAnbGVmdCcgOiAncmlnaHQnYDtcblxuXG4vLyBcImJvcmRlci1jb2xvcjpcIiBydWxlXG5cbi5ib3JkZXItY29sb3IoQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiBub3QgKEBydGwpIHtcblx0Ym9yZGVyLWNvbG9yOiBAdG9wIEByaWdodCBAYm90dG9tIEBsZWZ0O1xufVxuXG4uYm9yZGVyLWNvbG9yKEB0b3AsIEByaWdodCwgQGJvdHRvbSwgQGxlZnQpIHdoZW4gKEBydGwpIHtcblx0Ym9yZGVyLWNvbG9yOiBAdG9wIEBsZWZ0IEBib3R0b20gQHJpZ2h0O1xufVxuXG5cbi8vIFwiYm9yZGVyLWxlZnQqOlwiIHJ1bGVcblxuLmJvcmRlci1sZWZ0KEBsZWZ0KSB3aGVuIG5vdCAoQHJ0bCkge1xuXHRib3JkZXItbGVmdDogQGxlZnQ7XG59XG5cbi5ib3JkZXItbGVmdChAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHRib3JkZXItcmlnaHQ6IEBsZWZ0O1xufVxuXG4uYm9yZGVyLWxlZnQtY29sb3IoQGxlZnQpIHdoZW4gbm90IChAcnRsKSB7XG5cdGJvcmRlci1sZWZ0LWNvbG9yOiBAbGVmdDtcbn1cblxuLmJvcmRlci1sZWZ0LWNvbG9yKEBsZWZ0KSB3aGVuIChAcnRsKSB7XG5cdGJvcmRlci1yaWdodC1jb2xvcjogQGxlZnQ7XG59XG5cbi5ib3JkZXItbGVmdC1zdHlsZShAbGVmdCkgd2hlbiBub3QgKEBydGwpIHtcblx0Ym9yZGVyLWxlZnQtc3R5bGU6IEBsZWZ0O1xufVxuXG4uYm9yZGVyLWxlZnQtc3R5bGUoQGxlZnQpIHdoZW4gKEBydGwpIHtcblx0Ym9yZGVyLXJpZ2h0LXN0eWxlOiBAbGVmdDtcbn1cblxuLmJvcmRlci1sZWZ0LXdpZHRoKEBsZWZ0KSB3aGVuIG5vdCAoQHJ0bCkge1xuXHRib3JkZXItbGVmdC13aWR0aDogQGxlZnQ7XG59XG5cbi5ib3JkZXItbGVmdC13aWR0aChAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IEBsZWZ0O1xufVxuXG5cbi8vIFwiYm9yZGVyLXJpZ2h0KjpcIiBydWxlXG5cbi5ib3JkZXItcmlnaHQoQHJpZ2h0KSB3aGVuIG5vdCAoQHJ0bCkge1xuXHRib3JkZXItcmlnaHQ6IEByaWdodDtcbn1cblxuLmJvcmRlci1yaWdodChAcmlnaHQpIHdoZW4gKEBydGwpIHtcblx0Ym9yZGVyLWxlZnQ6IEByaWdodDtcbn1cblxuLmJvcmRlci1yaWdodC1jb2xvcihAcmlnaHQpIHdoZW4gbm90IChAcnRsKSB7XG5cdGJvcmRlci1yaWdodC1jb2xvcjogQHJpZ2h0O1xufVxuXG4uYm9yZGVyLXJpZ2h0LWNvbG9yKEByaWdodCkgd2hlbiAoQHJ0bCkge1xuXHRib3JkZXItbGVmdC1jb2xvcjogQHJpZ2h0O1xufVxuXG4uYm9yZGVyLXJpZ2h0LXN0eWxlKEByaWdodCkgd2hlbiBub3QgKEBydGwpIHtcblx0Ym9yZGVyLXJpZ2h0LXN0eWxlOiBAcmlnaHQ7XG59XG5cbi5ib3JkZXItcmlnaHQtc3R5bGUoQHJpZ2h0KSB3aGVuIChAcnRsKSB7XG5cdGJvcmRlci1sZWZ0LXN0eWxlOiBAcmlnaHQ7XG59XG5cbi5ib3JkZXItcmlnaHQtd2lkdGgoQHJpZ2h0KSB3aGVuIG5vdCAoQHJ0bCkge1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IEByaWdodDtcbn1cblxuLmJvcmRlci1yaWdodC13aWR0aChAcmlnaHQpIHdoZW4gKEBydGwpIHtcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IEByaWdodDtcbn1cblxuXG4vLyBcImJvcmRlci1zdHlsZTpcIiBydWxlXG5cbi5ib3JkZXItc3R5bGUoQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiBub3QgKEBydGwpIHtcblx0Ym9yZGVyLXN0eWxlOiBAdG9wIEByaWdodCBAYm90dG9tIEBsZWZ0O1xufVxuXG4uYm9yZGVyLXN0eWxlKEB0b3AsIEByaWdodCwgQGJvdHRvbSwgQGxlZnQpIHdoZW4gKEBydGwpIHtcblx0Ym9yZGVyLXN0eWxlOiBAdG9wIEBsZWZ0IEBib3R0b20gQHJpZ2h0O1xufVxuXG5cbi8vIFwiYm9yZGVyLXdpZHRoOlwiIHJ1bGVcblxuLmJvcmRlci13aWR0aChAdG9wLCBAcmlnaHQsIEBib3R0b20sIEBsZWZ0KSB3aGVuIG5vdCAoQHJ0bCkge1xuXHRib3JkZXItd2lkdGg6IEB0b3AgQHJpZ2h0IEBib3R0b20gQGxlZnQ7XG59XG5cbi5ib3JkZXItd2lkdGgoQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHRib3JkZXItd2lkdGg6IEB0b3AgQGxlZnQgQGJvdHRvbSBAcmlnaHQ7XG59XG5cblxuLy8gXCJib3JkZXItcmFkaXVzOlwiIHJ1bGVcblxuLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cykgd2hlbiBub3QgKEBydGwpIHtcblx0LXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogQHJhZGl1cztcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cykgd2hlbiAoQHJ0bCkge1xuXHQtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IEByYWRpdXM7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4uYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cykgd2hlbiBub3QgKEBydGwpIHtcblx0LXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcblx0LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiBAcmFkaXVzO1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKEByYWRpdXMpIHdoZW4gKEBydGwpIHtcblx0LXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogQHJhZGl1cztcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cykgd2hlbiBub3QgKEBydGwpIHtcblx0LXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogQHJhZGl1cztcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cykgd2hlbiAoQHJ0bCkge1xuXHQtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IEByYWRpdXM7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4uYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoQHJhZGl1cykgd2hlbiBub3QgKEBydGwpIHtcblx0LXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcblx0LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiBAcmFkaXVzO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKEByYWRpdXMpIHdoZW4gKEBydGwpIHtcblx0LXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogQHJhZGl1cztcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cblxuXG4vLyBcImNsZWFyOlwiIHJ1bGVcblxuLmNsZWFyKEBzaWRlOiBib3RoKSB3aGVuIG5vdCAoQHJ0bCksIG5vdCAoQHNpZGUgPSBsZWZ0KSBhbmQgbm90IChAc2lkZSA9IHJpZ2h0KSB7XG5cdGNsZWFyOiBAc2lkZTtcbn1cblxuLmNsZWFyKGxlZnQpIHdoZW4gKEBydGwpIHtcblx0Y2xlYXI6IHJpZ2h0O1xufVxuXG4uY2xlYXIocmlnaHQpIHdoZW4gKEBydGwpIHtcblx0Y2xlYXI6IGxlZnQ7XG59XG5cblxuLy8gXCJkaXJlY3Rpb246XCIgcnVsZVxuXG4uZGlyZWN0aW9uKCkge1xuXHRkaXJlY3Rpb246IEBkaXJlY3Rpb247XG59XG5cbi5kaXJlY3Rpb24oQGRpcikgd2hlbiBub3QgKEBydGwpLCBub3QgKEBkaXIgPSBsdHIpIGFuZCBub3QgKEBkaXIgPSBydGwpIHtcblx0ZGlyZWN0aW9uOiBAZGlyO1xufVxuXG4uZGlyZWN0aW9uKGx0cikgd2hlbiAoQHJ0bCkge1xuXHRkaXJlY3Rpb246IHJ0bDtcbn1cblxuLmRpcmVjdGlvbihydGwpIHdoZW4gKEBydGwpIHtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLy8gXCJsZWZ0OlwiIHJ1bGVcblxuLmxlZnQoQGxlZnQpIHdoZW4gbm90IChAcnRsKSB7XG5cdGxlZnQ6IEBsZWZ0O1xufVxuXG4ubGVmdChAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHRyaWdodDogQGxlZnQ7XG59XG5cblxuLy8gXCJmbG9hdDpcIiBydWxlXG5cbi5mbG9hdCgpIHtcblx0ZmxvYXQ6IEBsZWZ0O1xufVxuXG4uZmxvYXQoQGZsb2F0KSB3aGVuIG5vdCAoQHJ0bCksIG5vdCAoQGZsb2F0ID0gbGVmdCkgYW5kIG5vdCAoQGZsb2F0ID0gcmlnaHQpIHtcblx0ZmxvYXQ6IEBmbG9hdDtcbn1cblxuLmZsb2F0KGxlZnQpIHdoZW4gKEBydGwpIHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmxvYXQocmlnaHQpIHdoZW4gKEBydGwpIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG5cblxuLy8gXCJtYXJnaW46XCIgcnVsZVxuXG4ubWFyZ2luKEB0b3AsIEByaWdodCwgQGJvdHRvbSwgQGxlZnQpIHdoZW4gbm90IChAcnRsKSB7XG5cdG1hcmdpbjogQHRvcCBAcmlnaHQgQGJvdHRvbSBAbGVmdDtcbn1cblxuLm1hcmdpbihAdG9wLCBAcmlnaHQsIEBib3R0b20sIEBsZWZ0KSB3aGVuIChAcnRsKSB7XG5cdG1hcmdpbjogQHRvcCBAbGVmdCBAYm90dG9tIEByaWdodDtcbn1cblxuLmllNy1tYXJnaW4oQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiBub3QgKEBydGwpIHtcblx0Km1hcmdpbjogQHRvcCBAcmlnaHQgQGJvdHRvbSBAbGVmdDtcbn1cblxuLmllNy1tYXJnaW4oQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHQqbWFyZ2luOiBAdG9wIEBsZWZ0IEBib3R0b20gQHJpZ2h0O1xufVxuXG5cbi8vIFwibWFyZ2luLWxlZnQ6XCIgcnVsZVxuXG4ubWFyZ2luLWxlZnQoQGxlZnQpIHdoZW4gbm90IChAcnRsKSB7XG5cdG1hcmdpbi1sZWZ0OiBAbGVmdDtcbn1cblxuLm1hcmdpbi1sZWZ0KEBsZWZ0KSB3aGVuIChAcnRsKSB7XG5cdG1hcmdpbi1yaWdodDogQGxlZnQ7XG59XG5cbi5pZTctbWFyZ2luLWxlZnQoQGxlZnQpIHdoZW4gbm90IChAcnRsKSB7XG5cdCptYXJnaW4tbGVmdDogQGxlZnQ7XG59XG5cbi5pZTctbWFyZ2luLWxlZnQoQGxlZnQpIHdoZW4gKEBydGwpIHtcblx0Km1hcmdpbi1yaWdodDogQGxlZnQ7XG59XG5cblxuLy8gXCJtYXJnaW4tcmlnaHQ6XCIgcnVsZVxuXG4ubWFyZ2luLXJpZ2h0KEByaWdodCkgd2hlbiBub3QgKEBydGwpIHtcblx0bWFyZ2luLXJpZ2h0OiBAcmlnaHQ7XG59XG5cbi5tYXJnaW4tcmlnaHQoQHJpZ2h0KSB3aGVuIChAcnRsKSB7XG5cdG1hcmdpbi1sZWZ0OiBAcmlnaHQ7XG59XG5cbi5pZTctbWFyZ2luLXJpZ2h0KEByaWdodCkgd2hlbiBub3QgKEBydGwpIHtcblx0Km1hcmdpbi1yaWdodDogQHJpZ2h0O1xufVxuXG4uaWU3LW1hcmdpbi1yaWdodChAcmlnaHQpIHdoZW4gKEBydGwpIHtcblx0Km1hcmdpbi1sZWZ0OiBAcmlnaHQ7XG59XG5cblxuLy8gXCJwYWRkaW5nOlwiIHJ1bGVcblxuLnBhZGRpbmcoQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiBub3QgKEBydGwpIHtcblx0cGFkZGluZzogQHRvcCBAcmlnaHQgQGJvdHRvbSBAbGVmdDtcbn1cblxuLnBhZGRpbmcoQHRvcCwgQHJpZ2h0LCBAYm90dG9tLCBAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHRwYWRkaW5nOiBAdG9wIEBsZWZ0IEBib3R0b20gQHJpZ2h0O1xufVxuXG5cbi8vIFwicGFkZGluZy1sZWZ0OlwiIHJ1bGVcblxuLnBhZGRpbmctbGVmdChAbGVmdCkgd2hlbiBub3QgKEBydGwpIHtcblx0cGFkZGluZy1sZWZ0OiBAbGVmdDtcbn1cblxuLnBhZGRpbmctbGVmdChAbGVmdCkgd2hlbiAoQHJ0bCkge1xuXHRwYWRkaW5nLXJpZ2h0OiBAbGVmdDtcbn1cblxuXG4vLyBcInBhZGRpbmctcmlnaHQ6XCIgcnVsZVxuXG4ucGFkZGluZy1yaWdodChAcmlnaHQpIHdoZW4gbm90IChAcnRsKSB7XG5cdHBhZGRpbmctcmlnaHQ6IEByaWdodDtcbn1cblxuLnBhZGRpbmctcmlnaHQoQHJpZ2h0KSB3aGVuIChAcnRsKSB7XG5cdHBhZGRpbmctbGVmdDogQHJpZ2h0O1xufVxuXG5cbi8vIFwidGV4dC1hbGlnbjpcIiBydWxlXG5cbi50ZXh0LWFsaWduKCkge1xuXHR0ZXh0LWFsaWduOiBAbGVmdDtcbn1cblxuLnRleHQtYWxpZ24oQGFsaWduKSB3aGVuIG5vdCAoQHJ0bCksIG5vdCAoQGFsaWduID0gbGVmdCkgYW5kIG5vdCAoQGFsaWduID0gcmlnaHQpIHtcblx0dGV4dC1hbGlnbjogQGFsaWduO1xufVxuXG4udGV4dC1hbGlnbihsZWZ0KSB3aGVuIChAcnRsKSB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1hbGlnbihyaWdodCkgd2hlbiAoQHJ0bCkge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8vIFwicmlnaHQ6XCIgcnVsZVxuXG4ucmlnaHQoQHJpZ2h0KSB3aGVuIG5vdCAoQHJ0bCkge1xuXHRyaWdodDogQHJpZ2h0O1xufVxuXG4ucmlnaHQoQHJpZ2h0KSB3aGVuIChAcnRsKSB7XG5cdGxlZnQ6IEByaWdodDtcbn0iLCIvLyBQYWdlcyBEZWZhdWx0IFRoZW1lICBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb3B5cmlnaHQgUmVzZXJ2ZWQgUmV2b3ggLSAyMDE0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AYmFzZS1pbWctdXJsOiBcIi4uL2ltZ1wiO1xuQGFzc2V0cy11cmw6IFwiLi4vLi4vYXNzZXRzXCI7XG5cbi8vIEdsb2JhbCBDb2xvciBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlIEdyZXkgR3VpZGVkIENvbG9yICogY2hhbmdlIG9ubHkgQGJhc2UtbGlnaHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vQmFzZSBHcmV5IENvbG9yXG5AY29sb3ItbWFzdGVyOiAjNjI2MjYyO1xuXG4vLyBMaWdodGVyIEdyZXkgY29sb3JzXG5AY29sb3ItbWFzdGVyLWxpZ2h0Om1peChAY29sb3ItbWFzdGVyLCAjZmZmLCAxNiUpO1xuQGNvbG9yLW1hc3Rlci1saWdodGVyOm1peChAY29sb3ItbWFzdGVyLCAjZmZmLCA5LjUlKTtcbkBjb2xvci1tYXN0ZXItbGlnaHRlc3Q6bWl4KEBjb2xvci1tYXN0ZXIsICNmZmYsIDMlKTtcblxuLy8gRGFya2VyIEdyZXkgY29sb3JzXG5AY29sb3ItbWFzdGVyLWRhcms6bWl4KEBjb2xvci1tYXN0ZXIsICMwMDAsIDQ1JSk7XG5AY29sb3ItbWFzdGVyLWRhcmtlcjptaXgoQGNvbG9yLW1hc3RlciwgIzAwMCwgMjclKTtcbkBjb2xvci1tYXN0ZXItZGFya2VzdDptaXgoQGNvbG9yLW1hc3RlciwgIzAwMCwgMTglKTtcblxuXG5AYmFzZS1mb250LWZhbWlseTogd2Zfc2Vnb2UtdWlfbGlnaHQsd2Zfc2Vnb2UtdWlfbm9ybWFsLFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8gTWVudSBWYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9NZW51IEFuaW1hdGlvbiBDdXJ2ZVxuQG1lbnUtYmV6aWVyOi4wNSwgLjc0LCAuMjcsIC45OTtcbkBtZW51LWljb24tc2l6ZTo0MHB4O1xuQGNvbG9yLW1lbnUgOiMyQzJDMzE7XG5AY29sb3ItbWVudS1kYXJrIDptaXgoQGNvbG9yLW1lbnUsICMwMDAsIDc3JSk7XG5AY29sb3ItbWVudS1kYXJrZXIgOm1peChAY29sb3ItbWVudSwgIzAwMCwgOTAlKTtcblxuLy9HZW5lcmF0aW5nIE1lbnUgZm9udCBjb2xvclxuQG1lbnUtbWl4LXRlbXAgOiBtaXgoQGNvbG9yLW1lbnUsICNmZmYsIDkyJSk7XG5AbWVudSA6aGFyZGxpZ2h0KCNmZmYsIEBtZW51LW1peC10ZW1wKTtcbkBjb2xvci1tZW51LWxpZ2h0IDpAbWVudTtcbi8vTWVudSBGb250IENvbG9yXG5AY29sb3ItbWVudS1saW5rLWhvdmVyOiNmZmZmZmY7XG5AY29sb3ItbWVudS1zdWItbGluay1ob3ZlcjojMzNEOEQ3O1xuXG5cbi8vIEJvZHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYm9keS1iYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xuQGJvZHktY29sb3I6IEBjb2xvci1tYXN0ZXI7XG5AYm9keS1mb250LWZhbWlseSA6IEBiYXNlLWZvbnQtZmFtaWx5O1xuQGJvZHktZm9udC1zaXplIDogMTNweDtcblxuLy8gTGF5b3V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGxheW91dC1oZWFkZXItaGVpZ2h0OjYwcHg7XG5AbGF5b3V0LW1vYmlsZS1oZWFkZXItaGVpZ2h0OjQ4cHg7XG5AbGF5b3V0LW1vYmlsZS1sb2dvLXNjYWxlOjAuODtcbkBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoLWNvbGxhcHNlZCA6IDcwcHg7XG5AbGF5b3V0LXNpZGVwYW5lbC13aWR0aDoyODBweDtcbkBsYXlvdXQtc2lkZXBhbmVsLXBpbi13aWR0aDoyODBweDtcbkBsYXlvdXQtcmlnaHQtcXVpY2t2aWV3LXdpZHRoOiAyODVweDtcbkBsYXlvdXQtdXNlci1wcm9maWxlLW1hcmdpbjoyNXB4O1xuQGxheW91dC1jb250YWluZXItZml4ZWQtbGc6IDE3MDBweDtcblxuQGxheW91dC1ndXR0ZXItc20gOiA1cHg7XG5cbi8vIFBhbmVsc1xuQHBhbmVsLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbkBwYW5lbC1wYWRkaW5nOiAyMHB4O1xuQHBhbmVsLWhlYWRpbmctcGFkZGluZzogQHBhbmVsLXBhZGRpbmcgQHBhbmVsLXBhZGRpbmcgN3B4IEBwYW5lbC1wYWRkaW5nO1xuQHBhbmVsLWhlYWRpbmctbWluLWhlaWdodDogNDhweDtcbkBwYW5lbC1jb25kZW5zZWQtaGVhZGluZy1wYWRkaW5nOiAxM3B4IDEzcHggMCAxM3B4O1xuQHBhbmVsLWNvbmRlbnNlZC1ib2R5LXBhZGRpbmc6IDEzcHg7XG5AcGFuZWwtY29uZGVuc2VkLWhlYWRpbmctbWluLWhlaWdodDogNDhweDtcblxuLy8gTW9kYWxzXG5AbW9kYWwtaGVhZGluZy1iYWNrZ3JvdW5kOiAjMkMyQzMxO1xuXG4gIC8vRm9ybXNcbkBmb3JtLWdyb3VwLWhlaWdodDogNTRweDtcbkBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yOiBmYWRlKEBjb2xvci1ibGFjaywgNyUpO1xuXG4vL0Rhc2hib2FyZFxuQGRhc2hib2FyZC1iYWNrZ3JvdW5kIDogI2Y1ZjVmNTtcblxuQGNvbG9yLXdoaXRlOiAjZmZmO1xuQGNvbG9yLWJsYWNrOiAjMDAwO1xuXG5AY29sb3Itc3VjY2VzczogIzEwY2ZiZDtcbkBjb2xvci1jb21wbGV0ZSA6ICM0OGIwZjc7XG5AY29sb3ItcHJpbWFyeTogIzZkNWNhZTtcbkBjb2xvci13YXJuaW5nOiAjZjhkMDUzO1xuQGNvbG9yLWRhbmdlcjogI2Y1NTc1MztcbkBjb2xvci1pbmZvOiAjM2I0NzUyO1xuXG4vL01peGluZyBDb2xvciB2YXJyaWFibGUgZm9yIGNyZWF0aW5nIGJvdGggbGlnaHQgYW5kIGRhcmsgY29sb3JzXG5AbWl4LXBlcmNlbnRhZ2UtZGFyazogODElO1xuQG1peC1wZXJjZW50YWdlLWRhcmtlcjogNjAlO1xuQG1peC1wZXJjZW50YWdlLWxpZ2h0OiA4MCU7XG5AbWl4LXBlcmNlbnRhZ2UtbGlnaHRlcjogMjAlO1xuXG4vL0xpZ2h0ZXIgY29sb3JzXG5AY29sb3Itc3VjY2Vzcy1saWdodDogbWl4KEBjb2xvci1zdWNjZXNzLCBAY29sb3Itd2hpdGUsIEBtaXgtcGVyY2VudGFnZS1saWdodCk7XG5AY29sb3Itc3VjY2Vzcy1saWdodGVyOiBtaXgoQGNvbG9yLXN1Y2Nlc3MsIEBjb2xvci13aGl0ZSwgQG1peC1wZXJjZW50YWdlLWxpZ2h0ZXIpO1xuXG5AY29sb3ItY29tcGxldGUtbGlnaHQ6IG1peChAY29sb3ItY29tcGxldGUsIEBjb2xvci13aGl0ZSwgQG1peC1wZXJjZW50YWdlLWxpZ2h0KTtcbkBjb2xvci1jb21wbGV0ZS1saWdodGVyOiBtaXgoQGNvbG9yLWNvbXBsZXRlLCBAY29sb3Itd2hpdGUsIEBtaXgtcGVyY2VudGFnZS1saWdodGVyKTtcblxuQGNvbG9yLXByaW1hcnktbGlnaHQ6IG1peChAY29sb3ItcHJpbWFyeSwgQGNvbG9yLXdoaXRlLCBAbWl4LXBlcmNlbnRhZ2UtbGlnaHQpO1xuQGNvbG9yLXByaW1hcnktbGlnaHRlcjogbWl4KEBjb2xvci1wcmltYXJ5LCBAY29sb3Itd2hpdGUsIEBtaXgtcGVyY2VudGFnZS1saWdodGVyKTtcblxuQGNvbG9yLXdhcm5pbmctbGlnaHQ6IG1peChAY29sb3Itd2FybmluZywgQGNvbG9yLXdoaXRlLCBAbWl4LXBlcmNlbnRhZ2UtbGlnaHQpO1xuQGNvbG9yLXdhcm5pbmctbGlnaHRlcjogbWl4KEBjb2xvci13YXJuaW5nLCBAY29sb3Itd2hpdGUsIEBtaXgtcGVyY2VudGFnZS1saWdodGVyKTtcblxuQGNvbG9yLWRhbmdlci1saWdodDogbWl4KEBjb2xvci1kYW5nZXIsIEBjb2xvci13aGl0ZSwgQG1peC1wZXJjZW50YWdlLWxpZ2h0KTtcbkBjb2xvci1kYW5nZXItbGlnaHRlcjogbWl4KEBjb2xvci1kYW5nZXIsIEBjb2xvci13aGl0ZSwgQG1peC1wZXJjZW50YWdlLWxpZ2h0ZXIpO1xuXG5AY29sb3ItaW5mby1saWdodDogbWl4KEBjb2xvci1pbmZvLCBAY29sb3Itd2hpdGUsIEBtaXgtcGVyY2VudGFnZS1saWdodCk7XG5AY29sb3ItaW5mby1saWdodGVyOiBtaXgoQGNvbG9yLWluZm8sIEBjb2xvci13aGl0ZSwgQG1peC1wZXJjZW50YWdlLWxpZ2h0ZXIpO1xuXG4vL0RhcmtlciBjb2xvcnNcbkBjb2xvci1zdWNjZXNzLWRhcms6IG1peChAY29sb3Itc3VjY2VzcywgQGNvbG9yLWJsYWNrLCBAbWl4LXBlcmNlbnRhZ2UtZGFyayk7XG5AY29sb3Itc3VjY2Vzcy1kYXJrZXI6IG1peChAY29sb3Itc3VjY2VzcywgQGNvbG9yLWJsYWNrLCBAbWl4LXBlcmNlbnRhZ2UtZGFya2VyKTtcblxuQGNvbG9yLWNvbXBsZXRlLWRhcms6IG1peChAY29sb3ItY29tcGxldGUsIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmspO1xuQGNvbG9yLWNvbXBsZXRlLWRhcmtlcjogbWl4KEBjb2xvci1jb21wbGV0ZSwgQGNvbG9yLWJsYWNrLCBAbWl4LXBlcmNlbnRhZ2UtZGFya2VyKTtcblxuQGNvbG9yLXByaW1hcnktZGFyazogbWl4KEBjb2xvci1wcmltYXJ5LCBAY29sb3ItYmxhY2ssIEBtaXgtcGVyY2VudGFnZS1kYXJrKTtcbkBjb2xvci1wcmltYXJ5LWRhcmtlcjogbWl4KEBjb2xvci1wcmltYXJ5LCBAY29sb3ItYmxhY2ssIEBtaXgtcGVyY2VudGFnZS1kYXJrZXIpO1xuXG5AY29sb3Itd2FybmluZy1kYXJrOiBtaXgoQGNvbG9yLXdhcm5pbmcsIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmspO1xuQGNvbG9yLXdhcm5pbmctZGFya2VyOiBtaXgoQGNvbG9yLXdhcm5pbmcsIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmtlcik7XG5cbkBjb2xvci1kYW5nZXItZGFyazogbWl4KEBjb2xvci1kYW5nZXIsIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmspO1xuQGNvbG9yLWRhbmdlci1kYXJrZXI6IG1peChAY29sb3ItZGFuZ2VyLCBAY29sb3ItYmxhY2ssIEBtaXgtcGVyY2VudGFnZS1kYXJrZXIpO1xuXG5AY29sb3ItaW5mby1kYXJrOiBtaXgoQGNvbG9yLWluZm8sIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmspO1xuQGNvbG9yLWluZm8tZGFya2VyOiBtaXgoQGNvbG9yLWluZm8sIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmtlcik7XG5cblxuLy8gQ29tcG9uZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4vL0BwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHg7XG5AcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTdweDtcblxuLy8gQHBhZGRpbmctbGctdmVydGljYWw6ICAgIDI4cHg7XG5AcGFkZGluZy1sZy1ob3Jpem9udGFsOiAgMjhweDtcblxuLy8gQHBhZGRpbmctc20tdmVydGljYWw6ICAgIDVweDtcbkBwYWRkaW5nLXNtLWhvcml6b250YWw6ICAxNnB4O1xuXG5AcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMnB4O1xuQHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDlweDtcblxuXG5AekluZGV4LW5hdmJhciA6IEB6SW5kZXgtOTtcbkB6SW5kZXgtc2lkZWJhciA6IEB6SW5kZXgtMTA7XG5AekluZGV4LXRvb2x0aXBzIDogQHpJbmRleC0xMDtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bMi4gVmlldyBQb3J0c11cbiovXG4udmlldy1wb3J0e1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdvcmQtc3BhY2luZzogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmID4gKntcbiAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICB9XG5cdC5uYXZiYXJ7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdGJvcmRlci1sZWZ0OiAwO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRvcDogMDtcblx0XHRib3JkZXItdG9wOiAwO1xuXHRcdC5uYXZiYXItaW5uZXJ7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR9XG4gICAgICAgIC5hY3Rpb257XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICYucHVsbC1yaWdodHtcbiAgICAgICAgICAgICAgICAucmlnaHQoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0XHQudmlldy1oZWFkaW5ne1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0XHQmID4gcHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMnB4O1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0XHQmLm5hdmJhci1zbXtcblx0XHRcdG1pbi1oZWlnaHQ6IDM1cHg7XG5cdFx0XHQubmF2YmFyLWlubmVye1xuXHRcdFx0XHRoZWlnaHQ6IDM1cHg7XG5cdFx0XHR9XG5cdFx0XHQuYWN0aW9ue1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnZpZXd7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG5cdFx0LXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMDtcblx0XHQudHJhbnNpdGlvbihhbGwgMC40cyBlYXNlKTtcblx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cdFx0XHRcdG9wYWNpdHk6MDtcblx0XHRcdFx0LnRyYW5zaXRpb24ob3BhY2l0eSAwLjJzIGxpbmVhcik7XG5cdFx0XHRcdHotaW5kZXg6IC0xXG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6b25seS1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXHR9XG5cdCYuZnJvbS10b3B7XG5cdFx0JiA+IC52aWV3e1xuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHQudHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5wdXNoe1xuXHRcdCYgPiAudmlld3tcblx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdC50cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHQudHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5wdXNoLXBhcnJhbGxheHtcblx0XHQmID4gLnZpZXd7XG5cdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHQudHJhbnNpdGlvbihhbGwgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMSwuNywuMSwxKSk7XG5cdFx0XHRcdC50cmFuc2xhdGUzZCgtMjUlLDAsMCk7XG5cdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdG9wYWNpdHk6MDtcblx0XHRcdFx0XHR6LWluZGV4OiAxMDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZHtcblx0XHRcdFx0LnRyYW5zaXRpb24oYWxsIDQwMG1zIGN1YmljLWJlemllcigwLjEsLjcsLjEsMSkpO1xuXHRcdFx0XHQudHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcblx0XHRcdFx0Ym94LXNoYWRvdzowIDAgOXB4IHJnYmEoMTkxLDE5MSwxOTEsLjM2KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzMuIENoYXRdXG4qL1xuXG4vKiBDaGF0IENvbXBvbmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AY2hhdC1saXN0LWhlaWdodDo2MHB4O1xuQGFsZXJ0LWxpc3QtaGVpZ2h0OjQ1cHg7XG4uY2hhdC12aWV3e1xuXHQuY2hhdC1pbm5lcntcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRoZWlnaHQ6IGNhbGMoficxMDAlIC0gMTAzcHgnKTtcblx0fVxuXHQubWVzc2FnZXtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHR9XG5cdC5wcm9maWxlLWltZy13cmFwcGVye1xuXHRcdGhlaWdodDogMjhweDtcblx0XHR3aWR0aDogMjhweDtcblx0fVxuXHQuY2hhdC1idWJibGV7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Ym9yZGVyLXJhZGl1czoxMnB4O1xuXHRcdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHQubWFyZ2luKDVweCwgMHB4LCAwLCA1cHgpO1xuXHRcdG1heC13aWR0aDogNjAlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0JiA+IHB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHRcdCYuZnJvbS1tZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOkBjb2xvci1jb21wbGV0ZS1saWdodGVyO1xuXHRcdFx0Y29sb3I6QGNvbG9yLW1hc3Rlci1kYXJrO1xuXHRcdFx0b3BhY2l0eTogMC44OyBcblx0XHRcdC5mbG9hdChyaWdodCk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXHRcdH1cblx0XHQmLmZyb20tdGhlbSB7XG5cdFx0XHRjb2xvcjpAY29sb3ItbWFzdGVyLWRhcms7XG5cdFx0XHRvcGFjaXR5OiAwLjg7IFxuXHRcdFx0YmFja2dyb3VuZDpAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdG9wYWNpdHk6IDAuODsgXG5cdFx0ICBcdC5mbG9hdChsZWZ0KTtcblx0XHQgIFx0Ym9yZGVyOiAxcHggc29saWQgbWl4KEBjb2xvci1jb21wbGV0ZS1kYXJrZXIsICNmZmYsIDclKTtcblxuXHRcdH1cblx0fVxuXHQuY2hhdC1pbnB1dHtcblx0XHRib3JkZXI6IDA7XG5cdFx0aGVpZ2h0OiA0NXB4O1xuXHRcdCY6Zm9jdXMsJjphY3RpdmV7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxuXHQudXNlci1jb250cm9sc3tcblx0XHRwYWRkaW5nLXRvcDoxMnB4O1xuXHR9XG59XG4vKiBDaGF0IFVzZXIgTGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uY2hhdC11c2VyLWxpc3R7XG5cdCYgPiBhIHtcblx0XHRoZWlnaHQ6IEBjaGF0LWxpc3QtaGVpZ2h0O1xuXHR9XG59XG4vKiBBbGVydCBMaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5hbGVydC1saXN0e1xuXHQmID4gYSB7XG5cdFx0aGVpZ2h0OiBAYWxlcnQtbGlzdC1oZWlnaHQ7XG5cdH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzQuIFBhbmVsc11cbiovXG5cbi5wYW5lbHtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgICAuYm9yZGVyLXJhZGl1cygxcHgpOyAgICBcbiAgICAudHJhbnNpdGlvbihhbGwgLjJzIGVhc2UpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAucGFuZWwtaGVhZGluZ3tcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOjBweDtcbiAgICAgICAgcGFkZGluZzogQHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgICAmLnNlcGFyYXRvcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OjE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgICAmICsgLnBhbmVsLWJvZHl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyh+JzEwMCUgLSA1MHB4Jyk7XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLXRpdGxle1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTowcHg7XG4gICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24ob3BhY2l0eSAuM3MgZWFzZSk7XG4gICAgICAgICAgICAmICsgLnBhbmVsLWJvZHl7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGFuZWwtY29udHJvbHN7XG4gICAgICAgICAgICAuZmxvYXQocmlnaHQpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgIHVse1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTp0YWJsZTtcbiAgICAgICAgICAgICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5wYW5lbC1oZWFkaW5nLWhvdmVye1xuICAgICAgICAgICAgLnBhbmVsLXRpdGxle1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAucGFuZWwtdGl0bGV7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wYW5lbC1kZWZhdWx0e1xuICAgICAgICBib3JkZXI6MXB4IHNvbGlkIEBwYW5lbC1ib3JkZXItY29sb3I7XG4gICAgfVxuICAgICYucGFuZWwtYm9yZGVyZWR7XG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgZmFkZShAY29sb3ItbWFzdGVyLWxpZ2h0LCA3MCUpO1xuICAgIH1cbiAgICAmLnBhbmVsLWNvbmRlbnNlZHtcbiAgICAgICAgLnBhbmVsLWhlYWRpbmd7XG4gICAgICAgICAgICBwYWRkaW5nOiBAcGFuZWwtY29uZGVuc2VkLWhlYWRpbmctcGFkZGluZztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAucGFuZWwtdGl0bGV7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYW5lbC1ib2R5e1xuICAgICAgICAgICAgcGFkZGluZzogQHBhbmVsLWNvbmRlbnNlZC1ib2R5LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wYW5lbC1ob3ZlcntcbiAgICAgICAgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxle1xuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZXtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYucGFuZWwtdHJhbnNwYXJlbnR7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgLnBhbmVsLWJvZHl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmZ1bGwtaGVpZ2h0e1xuICAgICAgICBoZWlnaHQ6IGNhbGMoficxMDAlJyk7XG4gICAgICAgIC5wYW5lbC1ib2R5e1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wYW5lbC1mZWF0dXJlZCB7XG4gICAgICAgIC5ib3gtc2hhZG93KC0xcHggMXB4IDNweCAwcHggcmdiYSgxMjEsIDEyOSwgMTM1LCAwLjE0KSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKH4nMTAwJSAtIDUwcHgnKTtcbiAgICAgICAgLmZsb2F0KHJpZ2h0KTtcbiAgICAgICAgLnBhbmVsLXRpdGxlIHtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGFuZWwtYm9keSB7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb290ZXIge1xuICAgICAgICAgICAgLnVzZXJuYW1lIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIC5tYXJnaW4tbGVmdCgyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubWFyZ2luLWxlZnQoMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmhlYXJ0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1kYW5nZXI7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvbW1lbnQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3RlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJpYmJvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzhweDtcbiAgICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgICAgIC5tYXJnaW4tbGVmdCgtMzlweCk7XG4gICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICAuYm94LXNoYWRvdyggaW5zZXQgLTNweCAwcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMTQpICk7XG4gICAgICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItY29tcGxldGU7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLXN1Y2Nlc3M7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmhvdmVyLWZpbGw6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6QGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgIH1cbiAgICAmLmhvdmVyLXN0cm9rZXtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbC1ib2R5e1xuICAgICAgICBwYWRkaW5nOiBAcGFuZWwtcGFkZGluZztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy9vdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAmLm5vLXBhZGRpbmd7IFxuICAgICAgICAgICAgLnJvd3sgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IFxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgXG4gICAgICAgICAgICB9IFxuICAgICAgICB9IFxuICAgICAgICAmLm5vLWJvdHRvbS1wYWRkaW5ne1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5uby10b3AtcGFkZGluZ3tcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MHB4O1xuICAgICAgICB9XG4gICAgICAgICYuc2Nyb2xsYWJsZXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBwYW5lbC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qIFBvcnRsZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ucG9ydGxldC1wcm9ncmVzc3tcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xufVxuLnBvcnRsZXQtcHJvZ3Jlc3MgPiAucHJvZ3Jlc3MsXG4ucG9ydGxldC1wcm9ncmVzcyA+IC5wcm9ncmVzcy5wcm9ncmVzcy1zbWFsbHtcbiAgICBoZWlnaHQ6IDNweDtcbn1cbi5wb3J0bGV0LXByb2dyZXNzID4gLnByb2dyZXNzLWNpcmNsZS1pbmRldGVybWluYXRlLFxuLnBvcnRsZXQtcHJvZ3Jlc3MgPiAucG9ydGxldC1iYXItaW5kZXRlcm1pbmF0ZXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgLm1hcmdpbi1sZWZ0KC0xN3B4KTtcbiAgICBtYXJnaW4tdG9wOiAtMTdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG59XG4ucG9ydGxldC1wcm9ncmVzcyA+IC5wcm9ncmVzcy1jaXJjbGUtaW5kZXRlcm1pbmF0ZXtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG59XG4ucGFuZWwtbWF4aW1pemVke1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIC5sZWZ0KEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoLWNvbGxhcHNlZCk7XG4gICAgdG9wOiBAbGF5b3V0LWhlYWRlci1oZWlnaHQgLSAxcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IEB6SW5kZXgtcG9ydGxldDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIFBhZ2VzIG5vdGlmaWNhdGlvbiBob2xkZXIgKi9cbi5wYW5lbCAucGduLXdyYXBwZXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IEB6SW5kZXgtcG9ydGxldCArIDI7XG59XG5cbi5wYW5lbC1oZWFkaW5nIGE6bm90KC5idG4pe1xuICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogLjQ7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgJi5wb3J0bGV0LXJlZnJlc2h7XG4gICAgICAgIC50cmFuc2l0aW9uKG9wYWNpdHkgLjNzIGVhc2UpO1xuICAgICAgICAmLnJlZnJlc2hpbmd7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyAgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG4ucGFuZWwtaGVhZGluZyB7XG4gICAgLmRyb3Bkb3duIHVsIGxpIGEsIC5kcm9wZG93bi1tZW51IGxpIGF7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gICAgYVtkYXRhLXRvZ2dsZV06aG92ZXJ7XG4gICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5wb3J0bGV0LWljb257XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LWZhbWlseTogXCJwYWdlcy1pY29uXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4ucG9ydGxldC1pY29uLWNsb3NlOmJlZm9yZXtcbiAgICBjb250ZW50OiBcIlxcZTYwYVwiO1xufVxuLnBvcnRsZXQtaWNvbi1tYXhpbWl6ZTpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU2MzRcIjtcbn1cbi5wb3J0bGV0LWljb24tcmVmcmVzaDpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU2MDBcIjtcbn1cbi5wb3J0bGV0LWljb24tY29sbGFwc2U6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlNjJjXCI7XG59XG5cbi5wb3J0bGV0LWljb24tc2V0dGluZ3M6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlNjU1XCI7XG59XG4ucG9ydGxldC1pY29uLXJlZnJlc2gtbGctbWFzdGVyLFxuLnBvcnRsZXQtaWNvbi1yZWZyZXNoLWxnLXdoaXRle1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAudHJhbnNpdGlvbihvcGFjaXR5IC4zcyBlYXNlKTtcbiAgICAmLmZhZGV7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICB9XG59XG4ucG9ydGxldC1pY29uLXJlZnJlc2gtbGctbWFzdGVye1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlLWxnLW1hc3Rlci1zdGF0aWMuc3ZnJyk7XG59XG5cbi5wb3J0bGV0LWljb24tcmVmcmVzaC1sZy13aGl0ZXtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS1sZy13aGl0ZS1zdGF0aWMuc3ZnJyk7XG59XG5cbi5wb3J0bGV0LWljb24tcmVmcmVzaC1sZy1tYXN0ZXItYW5pbWF0ZWQsXG4ucG9ydGxldC1pY29uLXJlZnJlc2gtbGctd2hpdGUtYW5pbWF0ZWR7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICAudHJhbnNpdGlvbihvcGFjaXR5IC4zcyBlYXNlKTtcbiAgICAmLmFjdGl2ZXtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbn1cbi5wb3J0bGV0LWljb24tcmVmcmVzaC1sZy1tYXN0ZXItYW5pbWF0ZWR7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ0B7YmFzZS1pbWctdXJsfS9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUtbGctbWFzdGVyLnN2ZycpO1xufVxuLnBvcnRsZXQtaWNvbi1yZWZyZXNoLWxnLXdoaXRlLWFuaW1hdGVke1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlLWxnLXdoaXRlLnN2ZycpO1xufVxuXG5cbi8qIEZvciBkZW1vIHB1cnBvc2Ugb25seSAqL1xuLnBhbmVsLXNjcm9sbHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xufVxuLnNvcnRhYmxlIC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG4vKiBUbyBwcmV2ZW50IGxhZyB3aGlsZSBkcmFnZ2luZyAqL1xuLnVpLXNvcnRhYmxlLWhhbmRsZXtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZSAwcztcbn1cbi5zb3J0YWJsZSAuZ3JpZCAuZ3JpZC10aXRsZSB7XG4gICAgY3Vyc29yOiBtb3ZlOyAgICBcbn1cbi51aS1zb3J0YWJsZSB7XG4gICAgbWluLWhlaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG4udWktc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICAgIGJvcmRlcjogMXB4IGRvdHRlZCBibGFjaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgKiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc29ydGFibGUtYm94LXBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xuICAgICoge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNvcnRhYmxlIC5wYW5lbHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xufVxuLnNvcnRhYmxlLWNvbHVtbntcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG59XG4uZGVtby1wb3J0bGV0LXNjcm9sbGFibGV7XG4gICBoZWlnaHQ6MTU4cHhcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzUuIFR5cG9ncmFwaHldXG4qL1xuXG4vKiBTdGFuZGFyZCBlbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjQwMCw3MDApO1xuXG5odG1se1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5ib2R5e1xuICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlO1xuICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xuICAgIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xufVxuLyogSGVhZGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIixcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyaztcbn1cbmgxIHtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cHg7XG59XG5oMiB7XG4gICAgZm9udC1zaXplOiAzMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuaDMge1xuICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbn1cbmg0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMxLjg4cHg7XG59XG5oNXtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1Ljg4cHg7XG59XG5oMyBzbWFsbCxcbmg0IHNtYWxsLFxuaDUgc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5oMS5ibG9jayxcbmgyLmJsb2NrLFxuaDMuYmxvY2ssXG5oNC5ibG9jayxcbmg1LmJsb2NrLFxuaDYuYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLyogTGlucyBhbmQgT3RoZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5hIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBAY29sb3ItY29tcGxldGUtZGFyaztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGxpbmVhciAwcyxiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyIDBzLG9wYWNpdHkgMC4ycyBsaW5lYXIgMHMgIWltcG9ydGFudDtcbn1cbmE6Zm9jdXMsIGE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xufVxuYSxhOmZvY3VzLCBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmFbbmctY2xpY2tdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5iciB7XG4gICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgY2xlYXI6IGJvdGg7XG59XG5jb2Rle1xuICAgIGNvbG9yOkBjb2xvci1kYW5nZXItZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1kYW5nZXItbGlnaHRlcjtcbiAgICB9XG59XG5wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbnNtYWxsLFxuLnNtYWxse1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxubGFiZWwge1xuICAgICYuaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxufVxudWwsb2wge1xuICAgICYgPiBsaSB7XG4gICAgICAgIC5wYWRkaW5nLWxlZnQoM3B4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuICAgICYubGctaWNvbntcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgICYgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYubm8tc3R5bGV7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIC5wYWRkaW5nLWxlZnQoNXB4KTtcbiAgICB9XG59XG5hZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgYXtcbiAgICAgICAgY29sb3I6QGNvbG9yLW1hc3RlcjtcbiAgICB9XG59XG5ibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICAgIGJvcmRlci1sZWZ0OjA7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBkXCI7XG4gICAgICAgIC5tYXJnaW4tcmlnaHQoMTNweCk7XG4gICAgICAgIC5mbG9hdChsZWZ0KTtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gICAgc21hbGwge1xuICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgICAgY29sb3I6ICM4YjkxYTA7XG4gICAgICAgIC5wYWRkaW5nLWxlZnQoMzBweCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wdWxsLXJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OjA7XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZFwiO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5ocntcbiAgYm9yZGVyLWNvbG9yOkBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICYuZG91Ymxle1xuICAgIGJvcmRlci13aWR0aDoycHg7XG4gIH1cbiAgJi5kb3R0ZWR7XG4gICAgYm9yZGVyLXN0eWxlOmRvdHRlZCBub25lIG5vbmU7XG4gIH1cbn1cblxuLyogRm9udCBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4uc21hbGwtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG4ubm9ybWFsLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xufVxuLmxhcmdlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xufVxuXG4vKiBGb250IFdlaWdodHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uc2VtaS1ib2xkIHtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG59XG4uYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cbi5saWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIE1pc2Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLmxvZ28ge1xuICAgIG1hcmdpbjogMThweCAxNHB4O1xufVxuLmFsbC1jYXBzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm11dGVkIHtcbiAgICBjb2xvcjogbGlnaHRlbihAY29sb3ItbWFzdGVyLDUwJSk7XG59XG4uaGludC10ZXh0e1xuICAgIG9wYWNpdHk6IC43O1xufVxuLm5vLWRlY29yYXRpb257XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtcbn1cbi8qIE1vbm9jaHJvbWUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uYmctbWFzdGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXI7XG59XG4uYmctbWFzdGVyLWxpZ2h0e1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG59XG4uYmctbWFzdGVyLWxpZ2h0ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xufVxuLmJnLW1hc3Rlci1saWdodGVzdHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xufVxuLmJnLW1hc3Rlci1kYXJre1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyaztcbn1cbi5iZy1tYXN0ZXItZGFya2Vye1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItZGFya2VyO1xufVxuLmJnLW1hc3Rlci1kYXJrZXN0e1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItZGFya2VzdDtcbn1cblxuLyogQ29udGV4dHVhbCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLyogUHJpbWFyeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmJnLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5O1xufVxuLmJnLXByaW1hcnktZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnktZGFyaztcbn1cbi5iZy1wcmltYXJ5LWRhcmtlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnktZGFya2VyO1xufVxuLmJnLXByaW1hcnktbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5LWxpZ2h0O1xufVxuLmJnLXByaW1hcnktbGlnaHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnktbGlnaHRlcjtcbn1cblxuLyogQ29tcGxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5iZy1jb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xufVxuLmJnLWNvbXBsZXRlLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZS1kYXJrO1xufVxuLmJnLWNvbXBsZXRlLWRhcmtlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlLWRhcmtlcjtcbn1cbi5iZy1jb21wbGV0ZS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlLWxpZ2h0O1xufVxuLmJnLWNvbXBsZXRlLWxpZ2h0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZS1saWdodGVyO1xufVxuXG4vKiBTdWNjZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYmctc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXN1Y2Nlc3M7XG59XG4uYmctc3VjY2Vzcy1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcy1kYXJrO1xufVxuLmJnLXN1Y2Nlc3MtZGFya2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcy1kYXJrZXI7XG59XG4uYmctc3VjY2Vzcy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXN1Y2Nlc3MtbGlnaHQ7XG59XG4uYmctc3VjY2Vzcy1saWdodGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcy1saWdodGVyO1xufVxuXG4vKiBJbmZvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYmctaW5mb3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItaW5mbztcbn1cbi5iZy1pbmZvLWRhcmt7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWluZm8tZGFyaztcbn1cbi5iZy1pbmZvLWRhcmtlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItaW5mby1kYXJrZXI7XG59XG4uYmctaW5mby1saWdodHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItaW5mby1saWdodDtcbn1cbi5iZy1pbmZvLWxpZ2h0ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWluZm8tbGlnaHRlcjtcbn1cblxuLyogRGFuZ2VyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYmctZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xufVxuLmJnLWRhbmdlci1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyLWRhcms7XG59XG4uYmctZGFuZ2VyLWRhcmtlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlci1kYXJrZXI7XG59XG4uYmctZGFuZ2VyLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyLWxpZ2h0O1xufVxuLmJnLWRhbmdlci1saWdodGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyLWxpZ2h0ZXI7XG59XG5cbi8qIFdhcm5pbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4uYmctd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmc7XG59XG4uYmctd2FybmluZy1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZy1kYXJrO1xufVxuLmJnLXdhcm5pbmctZGFya2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZy1kYXJrZXI7XG59XG4uYmctd2FybmluZy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmctbGlnaHQ7XG59XG4uYmctd2FybmluZy1saWdodGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZy1saWdodGVyO1xufVxuXG4vKiBNb3JlIENvbG9yIE9wdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLyogTWVudVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmJnLW1lbnUtZGFya3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWVudS1kYXJrO1xufVxuLmJnLW1lbnV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1lbnU7XG59XG4uYmctbWVudS1saWdodHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWVudS1saWdodDtcbn1cblxuLyogR3JhZGllbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uZ3JhZGllbnQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuOCkgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuOCkgNzUlKTtcbn1cbi5ncmFkaWVudC1ibGFjayB7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuOCkgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuOCkgNzUlKTtcbn1cblxuLyogT3RoZXIgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYmctd2hpdGV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5iZy10cmFuc3BhcmVudHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBUZXh0IENvbG9ycyAqL1xuLmxpbmt7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgJjpob3ZlcntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4udGV4dC1tYXN0ZXJ7XG4gICAgY29sb3IgOiBAY29sb3ItbWFzdGVyICFpbXBvcnRhbnQ7XG59XG4udGV4dC1tYXN0ZXItbGlnaHR7XG4gICAgY29sb3IgOiBAY29sb3ItbWFzdGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG59XG4udGV4dC1ibGFjayB7XG4gICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyayAhaW1wb3J0YW50O1xufVxuLnRleHQtd2hpdGUge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4udGV4dC1jb21wbGV0ZXtcbiAgICBjb2xvcjogQGNvbG9yLWNvbXBsZXRlICFpbXBvcnRhbnQ7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgICBjb2xvcjogQGNvbG9yLXN1Y2Nlc3MgIWltcG9ydGFudDtcbn1cbi50ZXh0LWluZm8ge1xuICAgIGNvbG9yOiBAY29sb3ItaW5mbyAhaW1wb3J0YW50O1xufVxuLnRleHQtd2FybmluZyB7XG4gICAgY29sb3I6IEBjb2xvci13YXJuaW5nICFpbXBvcnRhbnQ7XG59XG4udGV4dC13YXJuaW5nLWRhcmt7XG4gICAgY29sb3I6IEBjb2xvci13YXJuaW5nLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFuZ2VyIHtcbiAgICBjb2xvcjogQGNvbG9yLWRhbmdlciAhaW1wb3J0YW50O1xufVxuLnRleHQtcHJpbWFyeXtcbiAgICBjb2xvcjogQGNvbG9yLXByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuLyogVGV4dCBBbGlnbmdtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4udGV4dC1yaWdodCB7XG4gICAgLnRleHQtYWxpZ24ocmlnaHQpICFpbXBvcnRhbnQ7XG59XG4udGV4dC1sZWZ0IHtcbiAgICAudGV4dC1hbGlnbihsZWZ0KSAhaW1wb3J0YW50O1xufVxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLyogVGV4dCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLnRleHQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4ubGFiZWwge1xuICAgIHBhZGRpbmc6IDNweCA5cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogQGNvbG9yLW1hc3Rlcjtcbn1cbi5sYWJlbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2VzcztcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5sYWJlbC13YXJuaW5ne1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13YXJuaW5nO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmxhYmVsLWltcG9ydGFudCwgLmxhYmVsLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5sYWJlbC1pbmZve1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5sYWJlbC1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItY29tcGxldGUtZGFyaztcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5sYWJlbC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogQGNvbG9yLW1hc3Rlcjtcbn1cblxuLyogRm9udCBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmZzLTEwe1xuICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xufVxuLmZzLTExe1xuICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xufVxuLmZzLTEye1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuLmZzLTEze1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xufVxuLmZzLTE0e1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuLmZzLTE1e1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xufVxuLmZzLTE2e1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4vKiBMaW5lLWhlaWdodHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5saC1ub3JtYWx7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbi5saC0xMHtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbn1cbi5saC0xMXtcbiAgICBsaW5lLWhlaWdodDogMTFweDtcbn1cbi5saC0xMntcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbn1cbi5saC0xM3tcbiAgICBsaW5lLWhlaWdodDogMTNweDtcbn1cbi5saC0xNHtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbn1cbi5saC0xNXtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbn1cbi5saC0xNntcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbn1cblxuLyogRm9udCBGYWNlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4uZm9udC1hcmlhbHtcbiAgICBmb250LWZhbWlseTogIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG4uZm9udC1tb250c2VycmF0e1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcgIWltcG9ydGFudDtcbn1cbi5mb250LWdlb3JnaWF7XG4gICAgZm9udC1mYW1pbHk6IEdlb3JnaWEgIWltcG9ydGFudDtcbn1cbi5mb250LWhlYWRpbmd7XG4gICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIixcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8qIFdlbGxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ud2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICYud2VsbC1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAmLndlbGwtc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAxM3B4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgJi5ncmVlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcbiAgICAgICAgY29sb3I6ICBAY29sb3Itd2hpdGUgO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxufVxuLm92ZXJmbG93LWVsbGlwc2lze1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uanVtYm90cm9uIHB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcbiAgICAmLnNtYWxse1xuICAgICAgICBmb250LXNpemU6IDg1JTtcbiAgICB9XG59XG5cblxuLyogUmVzcG9uc2l2ZSBIYW5kbGVycyA6IFR5cG9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuXG4gICAgYm9keSwgcHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG5cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cHg7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNS44OHB4O1xuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzLjg4cHg7XG4gICAgfVxuICAgIGg1e1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNS44OHB4O1xuICAgIH1cbiAgICBzbWFsbCwgLnNtYWxse1xuICAgICAgICAgZm9udC1zaXplOiA4OSU7XG4gICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICB9XG5cbn1cblxuXG4vKiBGb3IgV2luZG93cyA6IEZpeGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ud2luZG93cyB7XG4gICAgYm9keSxcbiAgICBwe1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuICAgIGgxe1xuICAgICAgICBmb250LXNpemU6IDMzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OXB4O1xuICAgIH1cbiAgICBoMntcbiAgICAgICAgZm9udC1zaXplOiAyOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG4gICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgfVxuICAgIGg0e1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgICBoNXtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDV7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG5cbiAgICB9XG5cbiAgICAuanVtYm90cm9uIHB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgJi5zbWFsbHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODglO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNtYWxsLFxuICAgIC5zbWFsbHtcbiAgICAgICAgZm9udC1zaXplOiA4OSU7XG4gICAgfVxufVxuXG4vL3hzbWFsbFxuLmZvbnQteHNtYWxsLTF7XG4gICAgZm9udC1zaXplOiAwLjRyZW0gIWltcG9ydGFudDtcbn1cbi5mb250LXhzbWFsbC0ye1xuICAgIGZvbnQtc2l6ZTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG4uZm9udC14c21hbGwtM3tcbiAgICBmb250LXNpemU6IDAuNnJlbSAhaW1wb3J0YW50O1xufVxuXG4vL3NtYWxsXG4uZm9udC1zbWFsbC0xe1xuICAgIGZvbnQtc2l6ZTogMC43cmVtICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zbWFsbC0ye1xuICAgIGZvbnQtc2l6ZTogMC44cmVtICFpbXBvcnRhbnQ7XG59XG4uZm9udC1zbWFsbC0ze1xuICAgIGZvbnQtc2l6ZTogMC45cmVtICFpbXBvcnRhbnQ7XG59XG4vL21lZGl1bVxuLmZvbnQtbWVkaXVtLTF7XG4gICAgZm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcbn1cbi5mb250LW1lZGl1bS0ye1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnQ7XG59XG4uZm9udC1tZWRpdW0tM3tcbiAgICBmb250LXNpemU6IDEuM3JlbSAhaW1wb3J0YW50O1xufVxuLmZvbnQtbWVkaXVtLTR7XG4gICAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbn1cbi5mb250LW1lZGl1bS01e1xuICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG4vL2xhcmdlXG4uZm9udC1sYXJnZS0xe1xuICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xufVxuLmZvbnQtbGFyZ2UtMntcbiAgICBmb250LXNpemU6IDNyZW0gIWltcG9ydGFudDtcbn1cbi5mb250LWxhcmdlLTN7XG4gICAgZm9udC1zaXplOiA0cmVtICFpbXBvcnRhbnQ7XG59XG4uZm9udC1sYXJnZS00e1xuICAgIGZvbnQtc2l6ZTogNXJlbSAhaW1wb3J0YW50O1xufVxuLmZvbnQtbGFyZ2UtNXtcbiAgICBmb250LXNpemU6IDZyZW0gIWltcG9ydGFudDtcbn1cblxuXG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzYuIEJ1dHRvbnNdXG4qL1xuXG4vKlxuW0J1dHRvbnMgQmFzZSBTdHlsZXNdXG4qL1xuXG4uYnRuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7XG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtcbiAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTtcbiAgICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmJvcmRlci1yYWRpdXMoM3B4KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIEBjb2xvci13aGl0ZSA7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAucGFkZGluZy1sZWZ0KEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCk7XG4gICAgLnBhZGRpbmctcmlnaHQoQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBsaW5lYXIgMHMsYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhciAwcyxvcGFjaXR5IDAuMnMgbGluZWFyIDBzICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZmFkZShAY29sb3ItbWFzdGVyLDI3JSk7XG4gICAgfVxuICAgICYuYWN0aXZle1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIC5jYXJldCB7XG4gICAgICAgIC5tYXJnaW4tbGVmdCgzcHgpO1xuICAgICAgICAmLnNpbmdsZSB7XG4gICAgICAgICAgICAubWFyZ2luLWxlZnQoMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuLy8gRml4IGZvciBjaHJvbWUncyBidXR0b24gb3V0bGluZSBvbiBmb2N1c1xuYnV0dG9uOmZvY3Vze1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qXG5BbHRlcm5hdGUgYnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi5idG4tcHJpbWFyeSB7XG4gICAgLmJ1dHRvbihAY29sb3Itd2hpdGUsIEBjb2xvci1wcmltYXJ5LCBAY29sb3ItcHJpbWFyeSk7XG59XG4uYnRuLXN1Y2Nlc3Mge1xuICAgIC5idXR0b24oQGNvbG9yLXdoaXRlLCBAY29sb3Itc3VjY2VzcywgQGNvbG9yLXN1Y2Nlc3MpO1xufVxuLmJ0bi1jb21wbGV0ZXtcbiAgICAuYnV0dG9uKEBjb2xvci13aGl0ZSwgQGNvbG9yLWNvbXBsZXRlLCBAY29sb3ItY29tcGxldGUpO1xufVxuLmJ0bi1pbmZvIHtcbiAgICAuYnV0dG9uKEBjb2xvci13aGl0ZSwgQGNvbG9yLWluZm8sIEBjb2xvci1pbmZvKTtcbn1cbi5idG4td2FybmluZyB7XG4gICAgLmJ1dHRvbihAY29sb3Itd2hpdGUsIEBjb2xvci13YXJuaW5nLCBAY29sb3Itd2FybmluZyk7XG59XG4uYnRuLWRhbmdlciB7XG4gICAgLmJ1dHRvbihAY29sb3Itd2hpdGUsIEBjb2xvci1kYW5nZXIsIEBjb2xvci1kYW5nZXIpO1xufVxuLmJ0bi1kZWZhdWx0LCAuYnRuLWRlZmF1bHQ6Zm9jdXN7XG4gICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xufVxuLmJ0bi1kZWZhdWx0IHtcbiAgJi5hY3RpdmUsICY6YWN0aXZlLCAmLmFjdGl2ZTpmb2N1cywgJjphY3RpdmU6Zm9jdXMsICY6YWN0aXZlOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgY29sb3I6QGNvbG9yLW1hc3Rlci1kYXJrO1xuICB9XG4gICYuaG92ZXIsICY6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodGVzdDtcbiAgICBib3JkZXItY29sb3I6IGZhZGUoQGNvbG9yLW1hc3RlciwyNyUpO1xuICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyLWRhcmtlcjtcbiAgfVxuICAmLmFjdGl2ZTpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiBtaXgoQGNvbG9yLXdoaXRlLCAjMDAwLCA5NCUpIDtcbiAgfVxufVxuXG4vLyBMaW5rIGJ1dHRvblxuLmJ0bi1saW5re1xuICAgIGNvbG9yOiAjNWU1ZTVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cbi8vRmlsZSBJbnB1dCBCdG5cbi5idG4tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYnRuLWZpbGUgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAucmlnaHQoMCk7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLypcbkJ1dHRvbiBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRue1xuICAgIC5wYWRkaW5nLWxlZnQoQHBhZGRpbmctbGctaG9yaXpvbnRhbCk7XG4gICAgLnBhZGRpbmctcmlnaHQoQHBhZGRpbmctbGctaG9yaXpvbnRhbCk7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG59XG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0bntcbiAgICAucGFkZGluZy1sZWZ0KEBwYWRkaW5nLXNtLWhvcml6b250YWwpO1xuICAgIC5wYWRkaW5nLXJpZ2h0KEBwYWRkaW5nLXNtLWhvcml6b250YWwpO1xuICAgIGZvbnQtc2l6ZTogMTEuOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLmJ0bi14cywgLmJ0bi1ncm91cC14cyA+IC5idG57XG4gICAgcGFkZGluZzogQHBhZGRpbmcteHMtdmVydGljYWwgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IDEwLjVweDtcbn1cbi5idG4tY29ucyB7XG4gICAgLm1hcmdpbi1yaWdodCg1cHgpO1xuICAgIG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi8qXG5Sb3VuZGVkIGJ1dHRvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmJ0bi1yb3VuZGVke1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuXG4vKlxuIERyb3Bkb3duIG1lbnVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5vcGVue1xuICAgIC5idG4tZ3JvdXAmIC5kcm9wZG93bi10b2dnbGUsXG4gICAgJiAuZHJvcGRvd24tdG9nZ2xlLFxuICAgICYuZHJvcGRvd24tZGVmYXVsdCAuZHJvcGRvd24tdG9nZ2xle1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxufVxuXG4vKiBQYWdlcyBkZWZhdWx0IGRyb3Bkb3duICovXG4uZHJvcGRvd24tZGVmYXVsdHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJi5vcGVue1xuICAgICAgICAmID4gLmJ0biB7XG4gICAgICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgei1pbmRleDogQHpJbmRleC1uYXZiYXIgLSA5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICAgICAgICB6LWluZGV4OiBAekluZGV4LWRyb3Bkb3duO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5kcm9wdXAge1xuICAgICAgICAgICAgJiA+IC5idG4tcHJpbWFyeSArIC5kcm9wZG93bi1tZW51OmFmdGVyLFxuICAgICAgICAgICAgJiA+IC5idG4tc3VjY2VzcyArIC5kcm9wZG93bi1tZW51OmFmdGVyLFxuICAgICAgICAgICAgJiA+IC5idG4tY29tcGxldGUgKyAuZHJvcGRvd24tbWVudTphZnRlcixcbiAgICAgICAgICAgICYgPiAuYnRuLXdhcm5pbmcgKyAuZHJvcGRvd24tbWVudTphZnRlcixcbiAgICAgICAgICAgICYgPiAuYnRuLWRhbmdlciArIC5kcm9wZG93bi1tZW51OmFmdGVyLFxuICAgICAgICAgICAgJiA+IC5idG4taW5mbyArIC5kcm9wZG93bi1tZW51OmFmdGVye1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5idG4tcHJpbWFyeSArIC5kcm9wZG93bi1tZW51OmFmdGVyLFxuICAgICAgICAmID4gLmJ0bi1zdWNjZXNzICsgLmRyb3Bkb3duLW1lbnU6YWZ0ZXIsXG4gICAgICAgICYgPiAuYnRuLWNvbXBsZXRlICsgLmRyb3Bkb3duLW1lbnU6YWZ0ZXIsXG4gICAgICAgICYgPiAuYnRuLXdhcm5pbmcgKyAuZHJvcGRvd24tbWVudTphZnRlcixcbiAgICAgICAgJiA+IC5idG4tZGFuZ2VyICsgLmRyb3Bkb3duLW1lbnU6YWZ0ZXIsXG4gICAgICAgICYgPiAuYnRuLWluZm8gKyAuZHJvcGRvd24tbWVudTphZnRlcntcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICB9XG4gICAgICAgICYgPiAuYnRuLXByaW1hcnkgKyAuZHJvcGRvd24tbWVudTphZnRlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICAgICYgPiAuYnRuLXN1Y2Nlc3MgKyAuZHJvcGRvd24tbWVudTphZnRlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuYnRuLWNvbXBsZXRlICsgLmRyb3Bkb3duLW1lbnU6YWZ0ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItY29tcGxldGU7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5idG4td2FybmluZyArIC5kcm9wZG93bi1tZW51OmFmdGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmc7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5idG4tZGFuZ2VyICsgLmRyb3Bkb3duLW1lbnU6YWZ0ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuYnRuLWluZm8gKyAuZHJvcGRvd24tbWVudTphZnRlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1pbmZvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kcm9wdXAge1xuICAgICAgICAuYnRuLmRyb3Bkb3duLXRvZ2dsZXtcbiAgICAgICAgICAgICYuYnRuLWxne1xuICAgICAgICAgICAgICAgICYgKyAuZHJvcGRvd24tbWVudXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQ3cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0OXB4O1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0OXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5idG4tc217XG4gICAgICAgICAgICAgICAgJiArIC5kcm9wZG93bi1tZW51e1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMzRweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJ0bi14c3tcbiAgICAgICAgICAgICAgICAmICsgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0yOXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzFweDtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMzFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZHJvcGRvd24tbWVudXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgICAgICAgICAgLnBhZGRpbmcoMCwgM3B4LCA0NHB4LCAwKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tIDA7XG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNDNweDtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnRuLmRyb3Bkb3duLXRvZ2dsZXtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgLnBhZGRpbmctcmlnaHQoIEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCArIDEwcHgpO1xuICAgICAgICAmLmJ0bi1sZ3tcbiAgICAgICAgICAgIC5wYWRkaW5nLXJpZ2h0KEBwYWRkaW5nLWxnLWhvcml6b250YWwgKyAxNHB4KTtcbiAgICAgICAgICAgIC5jYXJldHtcbiAgICAgICAgICAgICAgICAucmlnaHQoMjZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmICsgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTQ3cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQ5cHg7XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA0OXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmJ0bi1zbXtcbiAgICAgICAgICAgIC5wYWRkaW5nLXJpZ2h0KCBAcGFkZGluZy1zbS1ob3Jpem9udGFsICsgMTBweCk7XG4gICAgICAgICAgICAuY2FyZXR7XG4gICAgICAgICAgICAgICAgLnJpZ2h0KDE2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiArIC5kcm9wZG93bi1tZW51e1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzNnB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5idG4teHN7XG4gICAgICAgICAgICAucGFkZGluZy1yaWdodCggQHBhZGRpbmcteHMtaG9yaXpvbnRhbCArIDEycHgpO1xuICAgICAgICAgICAgLmNhcmV0e1xuICAgICAgICAgICAgICAgIC5yaWdodCg4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiArIC5kcm9wZG93bi1tZW51e1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yOXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMXB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmV0e1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLnJpZ2h0KDE1cHgpO1xuICAgICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1yb3VuZGVke1xuICAgICAgICAucGFkZGluZy1sZWZ0KDE3cHgpO1xuICAgICAgICAucGFkZGluZy1yaWdodCgxN3B4KTtcbiAgICB9XG4gICAgLmJ0bi1yb3VuZGVkICsgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDApO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wIDA7XG4gICAgICAgIC50cmFuc2l0aW9uKGFsbCAxNzBtcyBjdWJpYy1iZXppZXIoLjA1LCAuNzQsIC4yNywgLjk5KSAwcyk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgLmxlZnQoMCk7XG4gICAgICAgICAgICB0b3A6IDQycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgLmJveC1zaGFkb3coMHB4IDBweCA1cHggZmFkZShAY29sb3ItbWFzdGVyLCAyMCUpKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVzdDtcbiAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgei1pbmRleDogQHpJbmRleC1kcm9wZG93biAhaW1wb3J0YW50O1xuICAgIC5kaXZpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogM3B4IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICB9XG4gICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAvKnBhZGRpbmctdG9wOiA5cHg7Ki9cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5kcm9wZG93bi1oZWFkZXJ7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSA+IGF7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFya2VyO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmRpc2FibGVkID4gYXtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbihAY29sb3ItbWFzdGVyLCAyMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3RlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIC50ZXh0LWFsaWduKGxlZnQpO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3Rlci1kYXJrZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kcm9wZG93bi1iYWNrZHJvcHtcbiAgICB6LWluZGV4OiBAekluZGV4LWRyb3Bkb3duTWFzaztcbn1cbi8qXG5BbmltYXRlZCBidXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLmJ0bi1hbmltYXRlZHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgLnRyYW5zZm9ybS1zdHlsZShwcmVzZXJ2ZS0zZCk7XG4gICAgJiA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICAgIC50cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgLnRyYW5zZm9ybS1zdHlsZShwcmVzZXJ2ZS0zZCk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjU7XG4gICAgICAgIC50cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICB9XG4gICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIC50cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICB9XG4gICAgJi5mcm9tLXRvcHtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAubGVmdCgwKTtcbiAgICAgICAgICAgIHRvcDogLTEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJi5zaG93LWljb257XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiBzcGFue1xuICAgICAgICAgICAgICAgIC50cmFuc2xhdGVZKDMwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuZnJvbS1sZWZ0e1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIC5sZWZ0KC0xMDAlKTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLCAmLnNob3ctaWNvbntcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgLmxlZnQoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gc3BhbntcbiAgICAgICAgICAgICAgICAudHJhbnNsYXRlWCgyMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmZhe1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAmLnBne1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJwYWdlcy1pY29uXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qXG5UYWcgYnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi5idG4tdGFne1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE3cHggM3B4IDNweCAxN3B4O1xuICAgIHBhZGRpbmc6IDVweCAxOXB4O1xuICAgICY6aG92ZXIsICYuaG92ZXJ7XG4gICAgICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJi5idG4tdGFnLWxpZ2h0e1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmZGZmO1xuICAgICAgICBjb2xvcjogIzViOGNhNTtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjY2JlNGYwO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bi10YWctZGFya3tcbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgY29sb3I6QGNvbG9yLW1hc3RlcjtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oQGNvbG9yLW1hc3Rlci1saWdodCwgMiUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuLXRhZy1yb3VuZGVke1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxN3B4O1xuICAgIH1cbn1cblxuLypcbk1pc2MgYnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYnRuLXRvb2xiYXIgLmJ0bntcbiAgICBwYWRkaW5nLWxlZnQ6MTRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4O1xufVxuXG4ucGFnZXIgLmRpc2FibGVke1xuICAgID4gYnV0dG9uLFxuICAgID4gYnV0dG9uOmhvdmVyLFxuICAgID4gYnV0dG9uOmZvY3VzLFxuICAgID4gc3BhbntcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgfVxufVxuXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENyZWF0ZXMgY29udGV4dHVhbCBidXR0b25zXG4uYnV0dG9uKEB0ZXh0LWNvbG9yOyBAYmFja2dyb3VuZC1jb2xvcjsgQGJvcmRlci1jb2xvcil7XG4gICAgJixcbiAgICAmOmZvY3Vze1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlOmZvY3VzLFxuICAmOmFjdGl2ZTpmb2N1cyxcbiAgJjphY3RpdmU6aG92ZXIsXG4gIC5vcGVuIC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQGJhY2tncm91bmQtY29sb3IsIEBjb2xvci1ibGFjaywgQG1peC1wZXJjZW50YWdlLWRhcmspO1xuICAgIGJvcmRlci1jb2xvcjogbWl4KEBiYWNrZ3JvdW5kLWNvbG9yLCBAY29sb3ItYmxhY2ssIEBtaXgtcGVyY2VudGFnZS1kYXJrKTtcbiAgICBjb2xvcjpAdGV4dC1jb2xvcjtcbiAgfVxuICAmLmhvdmVyLFxuICAmOmhvdmVyLFxuICAub3BlbiAuZHJvcGRvd24tdG9nZ2xlJlxuICB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBiYWNrZ3JvdW5kLWNvbG9yLCBAY29sb3Itd2hpdGUsIEBtaXgtcGVyY2VudGFnZS1saWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiBtaXgoQGJhY2tncm91bmQtY29sb3IsIEBjb2xvci13aGl0ZSwgQG1peC1wZXJjZW50YWdlLWxpZ2h0KTtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbiAgICAmLmFjdGl2ZTpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiBtaXgoQGJhY2tncm91bmQtY29sb3IsICMwMDAsIDg2JSkgO1xuICAgIGJvcmRlci1jb2xvcjogbWl4KEBiYWNrZ3JvdW5kLWNvbG9yLCAjMDAwLCA4NiUpIDtcbiAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQsXG4gICAgICAmW2Rpc2FibGVkXSxcbiAgICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgICBjb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIH1cbn1cblxuXG4uYnRuIHtcbiAgICAuYnRuLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU3NTM7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLThweDtcbiAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cbiIsIlxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbls3LiBBbGVydHNdXG4qL1xuLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgLnBhZGRpbmcoOXB4LCAxOXB4LCA5cHgsIDE1cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgYm9yZGVyLXdpZHRoOjA7XG4gICAgLnRyYW5zaXRpb24oYWxsIDAuMnMgbGluZWFyIDBzKTtcbiAgICAmLmJvcmRlcmVke1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gICAgLmxpbmsge1xuICAgICAgICBjb2xvcjogI2NlOGYyMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIC5hbGVydC1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICNjZThmMjIgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAuYnRuLXNtYWxsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0zLjVweDtcbiAgICB9XG4gICAgLmJ1dHRvbi1zZXQge1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9ub3RpLWNyb3NzLnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTlweCAtMTBweDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgdG9wOiA0LjVweDtcbiAgICAgICAgLmZsb2F0KHJpZ2h0KTtcbiAgICAgICAgLm1hcmdpbi1sZWZ0KDIwcHgpO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuLyogQWxlcnQgOiBDb2xvciBPcHRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYWxlcnQtZGFuZ2VyLCBcbi5hbGVydC1lcnJvcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyLWxpZ2h0ZXI7XG4gICAgY29sb3I6IEBjb2xvci1kYW5nZXItZGFya2VyO1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLWRhbmdlci1kYXJrZXI7XG4gICAgLmNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk1cHggLTEwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG4uYWxlcnQtd2FybmluZ3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZy1saWdodGVyO1xuICAgIGNvbG9yOiBAY29sb3Itd2FybmluZy1kYXJrZXI7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3Itd2FybmluZy1kYXJrZXI7XG59XG4uYWxlcnQtaW5mb3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItY29tcGxldGUtbGlnaHRlcjtcbiAgICBjb2xvcjogQGNvbG9yLWNvbXBsZXRlLWRhcmtlcjtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvci1jb21wbGV0ZS1kYXJrZXI7XG4gICAgLmNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY3cHggLTEwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG4uYWxlcnQtc3VjY2Vzc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcy1saWdodGVyO1xuICAgIGNvbG9yOiBAY29sb3Itc3VjY2Vzcy1kYXJrZXI7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3Itc3VjY2Vzcy1kYXJrZXI7XG4gICAgIC5jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOHB4IC0xMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmFsZXJ0LWRlZmF1bHR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogQGNvbG9yLW1hc3RlcjtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgIC5jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02N3B4IC0xMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bOC4gTm90aWZpY2F0aW9uc11cbiovXG5cbi8qIEJhZGdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYmFkZ2Uge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBAYmFzZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xufVxuLmJhZGdlLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuICAgIGNvbG9yOiAgQGNvbG9yLXdoaXRlIDtcbn1cbi5iYWRnZS13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZztcbiAgICBjb2xvcjogIEBjb2xvci13aGl0ZSA7XG59XG4uYmFkZ2UtaW1wb3J0YW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgIGNvbG9yOiAgQGNvbG9yLXdoaXRlIDtcbn1cbi5iYWRnZS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1kYW5nZXI7XG4gICAgY29sb3I6ICBAY29sb3Itd2hpdGUgO1xufVxuLmJhZGdlLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1pbmZvO1xuICAgIGNvbG9yOiAgQGNvbG9yLXdoaXRlIDtcbn1cbi5iYWRnZS1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItY29tcGxldGUtZGFya2VyO1xuICAgIGNvbG9yOiAgQGNvbG9yLXdoaXRlIDtcbn1cbi5iYWRnZS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIEBjb2xvci13aGl0ZSA7XG4gICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG59XG4uYmFkZ2UtZGlzYWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1kYXJrO1xuICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xufVxuXG4vKiBOb3RpZmljYXRpb24gcG9wdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnBvcG92ZXJ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDlweCByZ2JhKDE5MSwgMTkxLCAxOTEsIDAuMzYpO1xuICAgIHotaW5kZXg6IEB6SW5kZXgtbmF2YmFyIC0gMTA7XG59XG4ubm90aWZpY2F0aW9uLXRvZ2dsZXtcbiAgICB0b3A6IDM1cHg7XG4gICAgLmxlZnQoLTI2cHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGJvcmRlci1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGJvcmRlci1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLm5vdGlmaWNhdGlvbi1wYW5lbHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjoxcHggc29saWQgQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAubm90aWZpY2F0aW9uLWJvZHl7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLm5vdGlmaWNhdGlvbi1pdGVte1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLm1hcmdpbi1sZWZ0KDI1cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIC5wYWRkaW5nLXJpZ2h0KDI2cHgpO1xuICAgICAgICAgICAgJi51bnJlYWR7XG4gICAgICAgICAgICAgICAgIC5oZWFkaW5ne1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3B0aW9ue1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZS1saWdodGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3B0aW9uIC5tYXJre1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjpAY29sb3ItY29tcGxldGUtbGlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlYWRpbmd7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICAgICAgLm1hcmdpbi1yaWdodCg1cHgpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIC5mbG9hdChsZWZ0KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAucmlnaHQoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50aHVtYm5haWwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIDAuMTJzIGxpbmVhcik7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGltZXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAubWFyZ2luLXJpZ2h0KDhweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYub3BlbntcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIC5tb3JlLWRldGFpbHN7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudGh1bWJuYWlsLXdyYXBwZXIgaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGh1bWJuYWlsLXdyYXBwZXIuZDI0e1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW9yZS1kZXRhaWxze1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIC5tb3JlLWRldGFpbHMtaW5uZXJ7ICAgIFxuICAgICAgICAgICAgICAgICAgICAubWFyZ2luLWxlZnQoMTBweCk7XG4gICAgICAgICAgICAgICAgICAgIC5wYWRkaW5nLWxlZnQoMjhweCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIC5ib3JkZXItbGVmdCgxcHggc29saWQgZmFkZShAY29sb3ItbWFzdGVyLWxpZ2h0LCA3MCUpKTtcbiAgICAgICAgICAgICAgICAgICAgLnRleHQtYWxpZ24obGVmdCk7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sZWZ0KC03cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZmFkZShAY29sb3ItbWFzdGVyLWxpZ2h0LCA5MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmJvcmRlci1yYWRpdXMoOTlweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIG1peChAY29sb3ItbWFzdGVyLCAjZmZmLCA0MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxlZnQoLTVweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnIFxcMjVDRic7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5oaW50LXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3B0aW9ue1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgIC5yaWdodCgwKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAubWFya3tcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjogIG1peChAY29sb3ItbWFzdGVyLCAjZmZmLCA0MCUpO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgXFwyNUNGJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAuaGVhZGluZ3tcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubm90aWZpY2F0aW9uLWZvb3RlcntcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3RlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41NDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qIFNpbXBsZSBhbGVydHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmFsZXJ0cy1jb250YWluZXJ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICByaWdodDogMjBweDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdG9wOiBAbGF5b3V0LWhlYWRlci1oZWlnaHQgKyAyMHB4O1xuICAgICZbZGF0YS1wbGFjZW1lbnQkPSctbGVmdCdde1xuICAgICAgICBsZWZ0OiBAbGF5b3V0LXNpZGVwYW5lbC13aWR0aC1jb2xsYXBzZWQgKyAzMHB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJltkYXRhLXBsYWNlbWVudCQ9Jy1yaWdodCdde1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gICAgJltkYXRhLXBsYWNlbWVudF49J3RvcC0nXXtcbiAgICAgICAgIHRvcDogQGxheW91dC1oZWFkZXItaGVpZ2h0ICsgMjBweDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cbiAgICAmW2RhdGEtcGxhY2VtZW50Xj0nYm90dG9tLSdde1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmW2RhdGEtcGxhY2VtZW50PSdib3R0b20tcmlnaHQnXSwgJltkYXRhLXBsYWNlbWVudD0nYm90dG9tLWxlZnQnXXtcbiAgICAgICAgLmFsZXJ0Omxhc3QtY2hpbGR7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hbGVydHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuY2xvc2V7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAucmlnaHQoOXB4KTtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuLyogUGFnZXMgTm90aWZpY2F0aW9ucyBwbHVnaW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuYm9keS5tZW51LXBpbiA+IC5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uJD0nLWxlZnQnXSxcbmJvZHkubWVudS1waW4gPiAucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj1cInRvcFwiXSxcbmJvZHkubWVudS1waW4gPiAucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj1cImJvdHRvbVwiXXtcbiAgICAubGVmdChAbGF5b3V0LXNpZGVwYW5lbC1waW4td2lkdGgpO1xufVxuLnBnbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwMDtcbn1cbi5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uJD0nLWxlZnQnXSB7XG4gICAgLmxlZnQoMzBweCk7XG59XG4ucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbiQ9Jy1yaWdodCddIHtcbiAgICAucmlnaHQoMjBweCk7XG59XG4ucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbl49J3RvcC0nXSB7XG4gICAgdG9wOiAyMHB4O1xufVxuLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb25ePSdib3R0b20tJ10ge1xuICAgIGJvdHRvbTogMjBweDtcbn1cbi5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uPSd0b3AnXSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG4ucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj0nYm90dG9tJ10ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuLnBnbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTBweDtcbn1cbi5wZ24gLmFsZXJ0IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIFNpbXBsZSBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLnBnbi1zaW1wbGUgLmFsZXJ0IHtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIGFuaW1hdGlvbjogZmFkZUluIC4zcyBjdWJpYy1iZXppZXIoLjA1LCAuNzQsIC4yNywgLjk5KSBmb3J3YXJkcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluIC4zcyBjdWJpYy1iZXppZXIoLjA1LCAuNzQsIC4yNywgLjk5KSBmb3J3YXJkcztcbiAgICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qIEJhciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLnBnbi1iYXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xufVxuLnBnbi1iYXIgLmFsZXJ0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xuICAgIG1heC1oZWlnaHQ6IDkxcHg7XG59XG4ucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj0ndG9wJ10gLnBnbi1iYXIgLmFsZXJ0IHtcbiAgICBhbmltYXRpb246IHNsaWRlSW5Gcm9tVG9wIC41cyBjdWJpYy1iZXppZXIoLjA1LCAuNzQsIC4yNywgLjk5KSBmb3J3YXJkcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGVJbkZyb21Ub3AgLjVzIGN1YmljLWJlemllciguMDUsIC43NCwgLjI3LCAuOTkpIGZvcndhcmRzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG4ucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj0nYm90dG9tJ10gLnBnbi1iYXIgLmFsZXJ0IHtcbiAgICBhbmltYXRpb246IHNsaWRlSW5Gcm9tQm90dG9tIC41cyBjdWJpYy1iZXppZXIoLjA1LCAuNzQsIC4yNywgLjk5KSBmb3J3YXJkcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGVJbkZyb21Cb3R0b20gLjVzIGN1YmljLWJlemllciguMDUsIC43NCwgLjI3LCAuOTkpIGZvcndhcmRzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG4ucGduLWJhciAuYWxlcnQgc3BhbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAuM3MgY3ViaWMtYmV6aWVyKC4wNSwgLjc0LCAuMjcsIC45OSkgZm9yd2FyZHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVJbiAuM3MgY3ViaWMtYmV6aWVyKC4wNSwgLjc0LCAuMjcsIC45OSkgZm9yd2FyZHM7XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tVG9wIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Gcm9tVG9wIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21Cb3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRnJvbUJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cbi8qIENpcmNsZSBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLnBnbi1jaXJjbGUgLmFsZXJ0IHtcbiAgICBib3JkZXItcmFkaXVzOiAzMDBweDtcbiAgICBhbmltYXRpb246IGZhZGVJbkNpcmNsZSAuM3MgZWFzZSBmb3J3YXJkcywgcmVzaXplQ2lyY2xlIC4zcyAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNCwgMS42KSBmb3J3YXJkcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluQ2lyY2xlIC4zcyBlYXNlIGZvcndhcmRzLCByZXNpemVDaXJjbGUgLjNzIC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC40LCAxLjYpIGZvcndhcmRzO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5wYWRkaW5nKDZweCwgNTVweCwgNnB4LCA2cHgpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uJD0nLXJpZ2h0J10gLnBnbi1jaXJjbGUgLmFsZXJ0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4ucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbiQ9Jy1sZWZ0J10gLnBnbi1jaXJjbGUgLmFsZXJ0IHtcbiAgICBmbG9hdDogbGVmdDtcbn1cbi5wZ24tY2lyY2xlIC5hbGVydCA+IGRpdiA+IGRpdi5wZ24tdGh1bWJuYWlsID4gZGl2IHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG59XG4ucGduLWNpcmNsZSAuYWxlcnQgPiBkaXYgPiBkaXYucGduLXRodW1ibmFpbCA+IGRpdiA+IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnBnbi1jaXJjbGUgLmFsZXJ0ID4gZGl2ID4gZGl2LnBnbi1tZXNzYWdlID4gZGl2IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogNDdweDtcbiAgICAucGFkZGluZy1sZWZ0KDlweCk7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjNzIC41cyBlYXNlIGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW4gLjNzIC41cyBlYXNlIGZvcndhcmRzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC8vIC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG5cbn1cbi5wZ24tY2lyY2xlIC5hbGVydCA+IGRpdiA+IGRpdi5wZ24tbWVzc2FnZSA+IGRpdiBwOm9ubHktY2hpbGR7XG5wYWRkaW5nOjEycHggMDtcbn1cbi5wZ24tY2lyY2xlIC5hbGVydCAuY2xvc2Uge1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAucmlnaHQoMThweCk7XG4gICAgdG9wOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAuM3MgLjVzIGVhc2UgZm9yd2FyZHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVJbiAuM3MgLjVzIGVhc2UgZm9yd2FyZHM7XG59XG4ucGduLWNpcmNsZSAuYWxlcnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wZ24tY2lyY2xlIC5hbGVydCA+IGRpdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnBnbi1jaXJjbGUgLmFsZXJ0ID4gZGl2ID4gZGl2IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkNpcmNsZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5DaXJjbGUge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHJlc2l6ZUNpcmNsZSB7XG4gICAgMCUge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcmVzaXplQ2lyY2xlIHtcbiAgICAwJSB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgIH1cbn1cblxuLyogRmxpcCBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb25ePSd0b3AtJ10gLnBnbi1mbGlwIHtcbiAgICB0b3A6IC0zMHB4O1xufVxuLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb25ePSdib3R0b20tJ10gLnBnbi1mbGlwIHtcbiAgICBib3R0b206IC0zMHB4O1xufVxuLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb25ePSdib3R0b20tJ10gLnBnbi1mbGlwIC5hbGVydCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbn1cbi5wZ24tZmxpcCAuYWxlcnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbiAgICBib3gtc2hhZG93OiAwIDZweCA0cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC44cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuOHM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtOTBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDIwZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTEwZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA1ZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC05MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC05MGRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDIwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMjBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0xMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0xMGRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA1ZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiBQYWdlcyBOb3RpZmljYXRpb24gY3VzdG9taXphdGlvbnMgKi9cbmJvZHkgPiAucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj1cInRvcFwiXSB7XG4gICAgdG9wOiBAbGF5b3V0LWhlYWRlci1oZWlnaHQ7XG4gICAgLmxlZnQoQGxheW91dC1zaWRlcGFuZWwtd2lkdGgtY29sbGFwc2VkKTtcbn1cbmJvZHkgPiAucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj1cImJvdHRvbVwiXSB7XG4gICAgLmxlZnQoQGxheW91dC1zaWRlcGFuZWwtd2lkdGgtY29sbGFwc2VkKTtcbn1cblxuYm9keSA+IC5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uJD0nLWxlZnQnXSB7XG4gICAgLmxlZnQoQGxheW91dC1zaWRlcGFuZWwtd2lkdGgtY29sbGFwc2VkICsgMjBweCk7XG4gICAgLnJpZ2h0KGF1dG8pO1xufVxuXG5ib2R5ID4gLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb25ePSd0b3AtJ10ge1xuICAgIHRvcDogQGxheW91dC1oZWFkZXItaGVpZ2h0ICsgMjBweDtcbiAgICBib3R0b206IGF1dG87XG59XG5cblxuLnBnbi1jaXJjbGUgLmFsZXJ0IC5jbG9zZSB7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICB9XG5ib2R5ID4gLnBnbi13cmFwcGVye1xuICAgIHotaW5kZXg6IEB6SW5kZXgtbm90aWZpY2F0aW9ucztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gICAgYm9keSA+IC5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uPVwidG9wXCJde1xuICAgICAgICAubGVmdCgwKTtcbiAgICB9XG4gICAgYm9keSA+IC5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uPVwiYm90dG9tXCJdIHtcbiAgICAgICAgLmxlZnQoMCk7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keSA+IC5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uJD0nLWxlZnQnXSwgXG4gICAgYm9keSA+IC5wZ24td3JhcHBlcltkYXRhLXBvc2l0aW9uJD0nLXJpZ2h0J10ge1xuICAgICAgICBsZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGJvZHkgPiAucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbiQ9Jy1yaWdodCddIC5hbGVydCxcbiAgICBib2R5ID4gLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb24kPSctbGVmdCddIC5hbGVydHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5cbi8qIE5vdGlmaWNhdGlvbnMgZGVtb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovIFxuLm5vdGlmaWNhdGlvbi1wb3NpdGlvbnN7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjozcHggZGFzaGVkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgaGVpZ2h0OiAzNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJiA+IGRpdiA+IC5wb3NpdGlvbjpub3QoOm9ubHktY2hpbGQpe1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLnBvc2l0aW9ue1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBpbWd7XG4gICAgICAgICAgICBib3JkZXI6M3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgaW1ne1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiMwMDkwZDk7XG4gICAgICAgIH1cbiAgICAgICAgJi5wdWxsLXRvcCwgJi5wdWxsLWJvdHRvbXtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgfSAgXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzkuIFByb2dyZXNzIEluZGljYXRvcnNdXG4qL1xuLnByb2dyZXNzIHtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlKEBjb2xvci1tYXN0ZXIsIDIwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgJi50cmFuc3BhcmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG4gICAgfVxuICAgICYucHJvZ3Jlc3Mtc21hbGwge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICB9XG59XG4vKiBDaXJjdWxhciBQcm9ncmVzcyA6IGluZGV0ZXJtaW5hdGUgY29sb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5wcm9ncmVzcy1iYXItaW5kZXRlcm1pbmF0ZXtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ0B7YmFzZS1pbWctdXJsfS9wcm9ncmVzcy9wcm9ncmVzcy1iYXItbWFzdGVyLnN2ZycpIG5vLXJlcGVhdCB0b3AgbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAmLnByb2dyZXNzLWJhci1wcmltYXJ5e1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7YmFzZS1pbWctdXJsfS9wcm9ncmVzcy9wcm9ncmVzcy1iYXItcHJpbWFyeS5zdmcnKTtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmLnByb2dyZXNzLWJhci1jb21wbGV0ZXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtYmFyLWNvbXBsZXRlLnN2ZycpO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3N7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWJhci1zdWNjZXNzLnN2ZycpO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtYmFyLWluZm97XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWJhci1pbmZvLnN2ZycpO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtYmFyLXdhcm5pbmd7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWJhci13YXJuaW5nLnN2ZycpO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtYmFyLWRhbmdlcntcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtYmFyLWRhbmdlci5zdmcnKTtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmLnByb2dyZXNzLWJhci1tYXN0ZXJ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWJhci1tYXN0ZXIuc3ZnJyk7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4vKiBQcm9ncmVzcyBCYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5wcm9ncmVzcy1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLnRyYW5zaXRpb24oYWxsIDEwMDBtcyBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4gICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xufVxuLyogUHJvZ3Jlc3MgQmFyIDogQ29sb3IgT3B0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnByb2dyZXNzLWJhci1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnByb2dyZXNzLWJhci1jb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1pbmZvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucHJvZ3Jlc3MtYmFyLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13YXJuaW5nO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucHJvZ3Jlc3MtYmFyLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnByb2dyZXNzLWJhci13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIEBjb2xvci13aGl0ZSA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5wcm9ncmVzcy1iYXItYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1ibGFjaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnByb2dyZXNzLWluZm8gLmJhciwgLnByb2dyZXNzIC5iYXItaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWluZm8tZGFya2VyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucHJvZ3Jlc3Mtd2FybmluZyAuYmFyLCAucHJvZ3Jlc3MgLmJhci13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZy1kYXJrZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5wcm9ncmVzcy1kYW5nZXIgLmJhciwgLnByb2dyZXNzIC5iYXItZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyLWRhcmtlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnByb2dyZXNzLXdoaXRlIC5iYXIsIC5wcm9ncmVzcyAuYmFyLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5wcm9ncmVzcy1zdWNjZXNzLnByb2dyZXNzLXN0cmlwZWQgLmJhciwgLnByb2dyZXNzLXN0cmlwZWQgLmJhci1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcztcbn1cbi5wcm9ncmVzcy1pbmZvLnByb2dyZXNzLXN0cmlwZWQgLmJhciwgLnByb2dyZXNzLXN0cmlwZWQgLmJhci1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItaW5mbztcbn1cbi8qIENpcmN1bGFyIFByb2dyZXNzIDogaW5kZXRlcm1pbmF0ZSBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5wcm9ncmVzcy1jaXJjbGUtaW5kZXRlcm1pbmF0ZXtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ0B7YmFzZS1pbWctdXJsfS9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUtbWFzdGVyLnN2ZycpIG5vLXJlcGVhdCB0b3AgbGVmdDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgJi5wcm9ncmVzcy1jaXJjbGUtd2FybmluZ3tcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlLXdhcm5pbmcuc3ZnJyk7XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtY2lyY2xlLWRhbmdlcntcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlLWRhbmdlci5zdmcnKTtcbiAgICB9XG4gICAgJi5wcm9ncmVzcy1jaXJjbGUtaW5mb3tcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2Jhc2UtaW1nLXVybH0vcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlLWluZm8uc3ZnJyk7XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtY2lyY2xlLXByaW1hcnl7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS1wcmltYXJ5LnN2ZycpO1xuICAgIH1cbiAgICAmLnByb2dyZXNzLWNpcmNsZS1zdWNjZXNze1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7YmFzZS1pbWctdXJsfS9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUtc3VjY2Vzcy5zdmcnKTtcbiAgICB9XG4gICAgJi5wcm9ncmVzcy1jaXJjbGUtY29tcGxldGV7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHtiYXNlLWltZy11cmx9L3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS1jb21wbGV0ZS5zdmcnKTtcbiAgICB9XG59XG4vKiBDaXJjdWxhciBQcm9ncmVzcyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5wcm9ncmVzcy1jaXJjbGUge1xuICAgIEBzaXplOiA0NXB4O1xuICAgIEBib3JkZXIgOiAzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBAc2l6ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IEBzaXplO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICYucHJvZ3Jlc3MtY2lyY2xlLXdhcm5pbmd7XG4gICAgICAgIC5waWUgLmhhbGYtY2lyY2xle1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3Itd2FybmluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnByb2dyZXNzLWNpcmNsZS1kYW5nZXJ7XG4gICAgICAgIC5waWUgLmhhbGYtY2lyY2xle1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtY2lyY2xlLWluZm97XG4gICAgICAgIC5waWUgLmhhbGYtY2lyY2xle1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItaW5mbztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnByb2dyZXNzLWNpcmNsZS1wcmltYXJ5e1xuICAgICAgICAucGllIC5oYWxmLWNpcmNsZXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wcm9ncmVzcy1jaXJjbGUtc3VjY2Vzc3tcbiAgICAgICAgLnBpZSAuaGFsZi1jaXJjbGV7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtY2lyY2xlLWNvbXBsZXRle1xuICAgICAgICAucGllIC5oYWxmLWNpcmNsZXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucHJvZ3Jlc3MtY2lyY2xlLXRoaWNre1xuICAgICAgICAucGllIC5oYWxmLWNpcmNsZSwgLnNoYWRvd3tcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5waWUge1xuICAgICAgICBjbGlwOiByZWN0KDAsIEBzaXplLCBAc2l6ZSwgQHNpemUgLyAyKTtcbiAgICAgICAgaGVpZ2h0OiBAc2l6ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogQHNpemU7XG4gICAgICAgIC5oYWxmLWNpcmNsZSB7XG4gICAgICAgICAgICBib3JkZXI6IEBib3JkZXIgc29saWQgQGNvbG9yLW1hc3RlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMCwgQHNpemUgLyAyLCBAc2l6ZSwgMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IEBzaXplO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IEBzaXplO1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNoYWRvdyB7XG4gICAgICAgICAgICBib3JkZXI6IEBib3JkZXIgc29saWQgZmFkZSgjMDAwLCAxMCUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblsxMC4gTW9kYWxzXVxuKi9cbi5tb2RhbHtcblx0LmNsb3NlOmZvY3VzIHtcblx0XHRvdXRsaW5lOjA7XG5cdH1cblx0Lm1vZGFsLWRpYWxvZ3tcblx0XHQvKm1hcmdpbi10b3A6IDIwcHg7Ki9cblx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzICFpbXBvcnRhbnQ7XG5cdH1cbiAgICAubW9kYWwtY29udGVudHtcbiAgICBcdGJvcmRlcjogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgXHRib3JkZXItcmFkaXVzOjNweDtcbiAgICBcdGJveC1zaGFkb3c6bm9uZTtcbiAgICB9XG5cdC5tb2RhbC1oZWFkZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1oZWFkaW5nLWJhY2tncm91bmQ7XG5cdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdCAgICBib3JkZXItYm90dG9tOiAwO1xuXHRcdGg1IHtcblx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR9XG5cdCAgICBwIHtcblx0ICAgICAgICBjb2xvcjogIzhiOTFhMDtcblx0ICAgIH1cblx0fVxuXHQubW9kYWwtYm9keSB7XG5cdCAgICBib3gtc2hhZG93OiBub25lO1xuXHQgICAgcGFkZGluZzogMjVweDtcblx0ICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdH1cblx0Lm1vZGFsLWZvb3RlciB7XG5cdCAgICBib3gtc2hhZG93OiBub25lO1xuXHQgICAgbWFyZ2luLXRvcDogMDtcblx0ICAgIHBhZGRpbmc6IDE1cHg7XG5cdH1cblx0LmRyb3Atc2hhZG93e1xuXHRcdGJveC1zaGFkb3c6MCAwIDlweCByZ2JhKDE5MSwxOTEsMTkxLC4zNikgIWltcG9ydGFudDtcblx0fVxufVxuLmZpbGwtaW4tbW9kYWx7XG5cdC5tb2RhbC1iYWNrZHJvcHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuLm1vZGFsLWJhY2tkcm9we1xuXHRvcGFjaXR5OiAwO1xuXHQgIC50cmFuc2l0aW9uKG9wYWNpdHkgMC4ycyBsaW5lYXIpO1xuXHQmLmlue1xuXHRcdG9wYWNpdHk6IDAuMzA7XG5cdH1cbn1cblxuLyogUmVzcG9uc2l2ZSBIYW5kbGVyczogTW9kYWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCl7XG5cdC5tb2RhbHtcblx0XHQmLmZpbGwtaW57XG5cdFx0XHQubW9kYWwtZGlhbG9nIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoficxMDAlIC0gMjBweCcpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnNsaWRlLXVwe1xuXHRcdFx0Lm1vZGFsLWRpYWxvZyB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKH4nMTAwJSAtIDIwcHgnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XG5cdC5tb2RhbHtcblx0XHQubW9kYWwtY29udGVudHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQubW9kYWwtbGcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXHQubW9kYWwteGxnIHtcblx0XHR3aWR0aDogOTAlO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuXHQubW9kYWwteGxnIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG5cdC5tb2RhbC14bGcge1xuXHRcdHdpZHRoOiAxMjAwcHg7XG5cdH1cbn1cblxuLm1vZGFsLWF1dG8ge1xuXHR3aWR0aDogMTAwJTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bMTEuIFRhYnMgJiBBY2NvcmRpYW5zXVxuKi9cblxuLyogVGFic1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLm5hdi10YWJzIHtcbiAgJiA+IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAmID4gYSxcbiAgICAgICYgPiBhOmhvdmVyLFxuICAgICAgJiA+IGE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgLm1hcmdpbi1yaWdodCgwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6IGZhZGUoQGNvbG9yLW1hc3RlcixcbiAgICAgIDcwJSk7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgfVxuICAgICAgLnRhYi1pY29uIHtcbiAgICAgICAgLm1hcmdpbi1yaWdodCg2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmIH4gLnRhYi1jb250ZW50IHtcbiAgICAvKm92ZXJmbG93OiBoaWRkZW47Ki9cbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgICYgPiAudGFiLXBhbmUge1xuICAgICAgJi5zbGlkZS1sZWZ0LFxuICAgICAgJi5zbGlkZS1yaWdodCB7XG4gICAgICAgIC50cmFuc2l0aW9uKGFsbCAuM3MgZWFzZSkgIWltcG9ydGFudDtcbiAgICAgICAgJi5zbGlkaW5nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIC50cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNsaWRlLWxlZnQuc2xpZGluZyB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgxMCUsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmLnNsaWRlLXJpZ2h0LnNsaWRpbmcge1xuICAgICAgICAudHJhbnNsYXRlM2QoLTEwJSwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gUE9TSVRJT05HIE9QVElPTlNcbiAgJi5uYXYtdGFicy1sZWZ0LFxuICAmLm5hdi10YWJzLXJpZ2h0IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICB9XG4gICAgJiA+IGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuICAmLm5hdi10YWJzLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICAmIH4gLnRhYi1jb250ZW50IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIH1cbiAgfVxuICAmLm5hdi10YWJzLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAmIH4gLnRhYi1jb250ZW50IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG4gIH1cbn1cblxuLyogVGFicyA6IFNpbXBsZSBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLm5hdi10YWJzLXNpbXBsZSB7XG4gIGJvcmRlci1ib3R0b206IDBweDtcbiAgJjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAzcHg7XG4gICAgei1pbmRleDogMTIwO1xuICB9XG4gICYgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIC50cmFuc2l0aW9uKGFsbCAwLjFzIGxpbmVhciAwcyk7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDEyNTtcbiAgICAgIC5uYXYtdGFicy1wcmltYXJ5JiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuICAgICAgfVxuICAgICAgLm5hdi10YWJzLXN1Y2Nlc3MmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXN1Y2Nlc3M7XG4gICAgICB9XG4gICAgICAubmF2LXRhYnMtY29tcGxldGUmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuICAgICAgfVxuICAgICAgLm5hdi10YWJzLWRhbmdlciYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgICAgfVxuICAgICAgLm5hdi10YWJzLXdhcm5pbmcmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmc7XG4gICAgICB9XG4gICAgICAubmF2LXRhYnMtaW5mbyYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItaW5mbztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIFBPU0lUSU9ORyBPUFRJT05TXG4gICYubmF2LXRhYnMtbGVmdCxcbiAgJi5uYXYtdGFicy1yaWdodCB7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgfVxuICAgICYgPiBsaSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgICAgJi5hY3RpdmUsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmIH4gLnRhYi1jb250ZW50IHtcbiAgICB9XG4gIH1cbiAgJi5uYXYtdGFicy1sZWZ0IHtcbiAgICAmID4gbGk6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gICYubmF2LXRhYnMtcmlnaHQge1xuICAgICYgPiBsaTphZnRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiBUYWJzIDogTGluZSBUcmlhbmdsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLm5hdi10YWJzLWxpbmV0cmlhbmdsZSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gICY6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAmID4gbGkge1xuICAgICYuYWN0aXZlIHtcbiAgICAgICYgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IG1lZGl1bSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IEBib2R5LWJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgICAgIC5tYXJnaW4tbGVmdCgtMTBweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDExcHg7XG4gICAgICAgICAgLm1hcmdpbi1sZWZ0KC0xMXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmID4gYSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gYSxcbiAgICAmID4gYTpob3ZlcixcbiAgICAmID4gYTpmb2N1cyB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIC50cmFuc2l0aW9uKCBjb2xvciAwLjJzIGVhc2UgMHMpO1xuICAgIH1cbiAgfVxuICAmIH4gLnRhYi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG4gIC8vIFBPU0lUSU9ORyBPUFRJT05TXG4gICYubmF2LXRhYnMtbGVmdCB7XG4gICAgJi5uYXYtdGFicyB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICAgICYgPiBsaS5hY3RpdmUge1xuICAgICAgICAmID4gYTpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci10b3A6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGE6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCBAYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgICAubWFyZ2luLXJpZ2h0KDJweCk7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGE6YWZ0ZXIsXG4gICAgICAgICYgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAtMjNweDtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubmF2LXRhYnMtcmlnaHQge1xuICAgICYubmF2LXRhYnMge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgICAmID4gbGkuYWN0aXZlIHtcbiAgICAgICAgJiA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgICAmID4gYTphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCBAYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgICAubWFyZ2luLWxlZnQoLTlweCk7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGE6YWZ0ZXIsXG4gICAgICAgICYgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU4ZW0pIHtcbiAgLm5hdi10YWJzLWxpbmV0cmlhbmdsZSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgfVxufVxuXG4vKiBUYWJzIDogRmlsbC11cCBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLm5hdi10YWJzLWZpbGx1cCB7XG4gIC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gIC5wZXJzcGVjdGl2ZSgxMDAwKTtcbiAgJiA+IGxpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICYgPiBhIHtcbiAgICAgIC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICAudHJhbnNpdGlvbihjb2xvciAwLjNzIGVhc2UgMHMpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCBAY29sb3Itc3VjY2VzcztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogY2FsYyh+JzEwMCUgKyAxcHgnKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLFxuICAgICAgICAxMDAlLFxuICAgICAgICAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsXG4gICAgICAgIDEwMCUsXG4gICAgICAgIDBweCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlIDBzO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlIDBzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIC5uYXYtdGFicy1wcmltYXJ5JiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCBAY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICAubmF2LXRhYnMtc3VjY2VzcyYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgQGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdi10YWJzLWNvbXBsZXRlJiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCBAY29sb3ItY29tcGxldGU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLWNvbXBsZXRlO1xuICAgICAgICB9XG4gICAgICAgIC5uYXYtdGFicy13YXJuaW5nJiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCBAY29sb3Itd2FybmluZztcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3Itd2FybmluZztcbiAgICAgICAgfVxuICAgICAgICAubmF2LXRhYnMtZGFuZ2VyJiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCBAY29sb3ItZGFuZ2VyO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1kYW5nZXI7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdi10YWJzLWluZm8mIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIEBjb2xvci1pbmZvO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1pbmZvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgNXB4LCAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgNXB4LCAwcHgpO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNXMgZWFzZSAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZSAwcztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgID4gYSB7XG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgLnRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIC50cmFuc2xhdGUzZCgwcHgsIC01cHgsIDBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgwcHgsIC01cHgsIDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pY29uOmJlZm9yZSB7XG4gICAgLnRyYW5zbGF0ZTNkKDBweCwgNXB4LCAwcHgpO1xuICAgIC50cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjVzIGVhc2UgMHMpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAmIH4gLnRhYi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG4gIC8vIFBPU0lUSU9ORyBPUFRJT05TXG4gICYubmF2LXRhYnMtbGVmdCxcbiAgJi5uYXYtdGFicy1yaWdodCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgICYgPiBsaSB7XG4gICAgICAmID4gYSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKH4nMTAwJSArIDFweCcpO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBheyY6YWZ0ZXIge1xuICAgICAgICAgICAgLnRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLm5hdi10YWJzLWxlZnQge1xuICAgICYgPiBsaSB7XG4gICAgICAmID4gYSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIC50cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAudHJhbnNsYXRlM2QoNXB4LCAwLCAwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGF7c3BhbiB7XG4gICAgICAgICAgICAudHJhbnNsYXRlM2QoLTVweCwgMCwgMHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAudHJhbnNsYXRlM2QoLTVweCwgMCwgMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLm5hdi10YWJzLXJpZ2h0IHtcbiAgICAmID4gbGkge1xuICAgICAgJiA+IGEge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAudHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgLnRyYW5zbGF0ZTNkKC01cHgsIDAsIDBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYXtzcGFuIHtcbiAgICAgICAgICAgIC50cmFuc2xhdGUzZCg1cHgsIDAsIDBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgLnRyYW5zbGF0ZTNkKDVweCwgMCwgMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2LXRhYnMtaGVhZGVye1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICB3aWR0aDogMTAwJTtcbiAgLm5hdi10YWJze1xuICAgIHdpZHRoOmF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgJiA+IGxpe1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7XG4gICAgICB9XG4gIH1cbiAgJi5uYXYtdGFicy1saW5ldHJpYW5nbGV7XG4gICAgaGVpZ2h0OjYxcHg7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICY6YWZ0ZXJ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3R0b206IDNweDtcbiAgICAgIHotaW5kZXg6IDEyMDsgICAgXG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgY2xlYXI6IGJvdGg7ICAgIFxuICAgIH1cbiAgICAmICB+IC50YWItY29udGVudHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDotMTJweDtcbiAgICB9XG4gIH1cbn1cbi5uYXYtdGFicy1oZWFkZXIgfiAudGFiLWNvbnRlbnR7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE1cHg7XG59XG4ubmF2LXRhYi1kcm9wZG93biAuY3Mtc2VsZWN0e1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIFBhbmVsIEdyb3Vwc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAucGFuZWwtaGVhZGluZyB7XG4gICAgcGFkZGluZzogMTNweCAxOHB4IDEwcHggMjJweDtcbiAgICAmLmNvbGxhcHNlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAmICsgLnBhbmVsLWNvbGxhcHNlIHtcbiAgICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFuZWwtdGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmID4gYSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3RlciAhaW1wb3J0YW50O1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwNTZcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLnJpZ2h0KDEzcHgpO1xuICAgICAgICAgIHRvcDogMzYlO1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICB9XG4gICAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgICBjb2xvcjogZmFkZShAY29sb3ItbWFzdGVyLFxuICAgICAgICAgIDcwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG4gICAgICAgICAgICBjb2xvcjogZmFkZShAY29sb3ItbWFzdGVyLCA3MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFuZWwge1xuICAgICYgKyAucGFuZWwge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cbiAgICAucGFuZWwtYm9keSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG4gICAgfVxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3RlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcblxuICAubmF2Lm5hdi10YWJzLm5hdi1zdGFjay1zbSB7XG4gICAgbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgICYubmF2LXRhYnMtbGluZXRyaWFuZ2xlID4gbGkuYWN0aXZlID4gYTphZnRlcixcbiAgICAmLm5hdi10YWJzLWxpbmV0cmlhbmdsZSA+IGxpLmFjdGl2ZSA+IGE6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblsxMi4gU2xpZGVyc11cbiovXG5cbkBzbGlkZXItYmFja2dyb3VuZC1jb2xvciA6IG1peChAY29sb3ItbWFzdGVyLCAjZmZmLCAxMiUpO1xuXG4vKiBJb24gUmFuZ2UgU2xpZGVyXG5odHRwczovL2dpdGh1Yi5jb20vSW9uRGVuL2lvbi5yYW5nZVNsaWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uaXJzLWxpbmUtbWlkLCAuaXJzLWxpbmUtbGVmdCwgLmlycy1saW5lLXJpZ2h0LCAuaXJzLWJhciwgLmlycy1iYXItZWRnZSwgLmlycy1zbGlkZXJ7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHRcbn1cbi5pcnMtYmFye1xuXHRiYWNrZ3JvdW5kOiBAY29sb3ItZGFuZ2VyO1xufVxuLmlycy13cmFwcGVye1xuXHQuaXJzLWxpbmV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcblx0fVxuXHQuaXJzLWxpbmUtbWlkLCAuaXJzLWxpbmUtbGVmdCwgLmlycy1saW5lLXJpZ2h0LCAuaXJzLWRpYXBhc29uLCAuaXJzLXNsaWRlcntcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cdC5pcnMtZGlhcGFzb257XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpAY29sb3ItZGFuZ2VyO1xuXHRcdC50cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UpO1xuXG5cdH1cblx0Lmlycy1mcm9tLCAuaXJzLXRvLCAuaXJzLXNpbmdsZXtcblx0XHRiYWNrZ3JvdW5kOiBAY29sb3ItZGFuZ2VyO1xuXHR9XG5cdC5pcnMtc2xpZGVye1xuXHRcdFxuXHRcdCYuZnJvbTpiZWZvcmV7XG5cdFx0XHR0b3A6IC0yJTtcblx0XHRcdGxlZnQ6IDM3JTtcblx0XHRcdHdpZHRoOiAxNiU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuXHRcdH1cdFxuXHRcdCYudG86YmVmb3Jle1xuXHRcdFx0dG9wOiAtMiU7XG5cdFx0XHRsZWZ0OiAzNyU7XG5cdFx0XHR3aWR0aDogMTYlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjApO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcblx0XHR9XG5cdFx0Ji5zaW5nbGU6YmVmb3Jle1xuXHRcdFx0dG9wOiAtMiU7XG5cdFx0XHRsZWZ0OiAzNyU7XG5cdFx0XHR3aWR0aDogMTYlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjApO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcdFx0XG5cdFx0fVxuXHR9XG5cdC5pcnMtZnJvbTphZnRlciwgLmlycy10bzphZnRlciwgLmlycy1zaW5nbGU6YWZ0ZXJ7XG5cdFx0Ym9yZGVyLXRvcC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcblx0fVxuXHQmLnN1Y2Nlc3N7XG5cdFx0Lmlycy1kaWFwYXNvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6QGNvbG9yLXN1Y2Nlc3M7XG5cdFx0fVxuXHRcdC5pcnMtZnJvbSwgLmlycy10bywgLmlycy1zaW5nbGV7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAY29sb3Itc3VjY2Vzcztcblx0XHR9XG5cdFx0Lmlycy1zbGlkZXJ7XG5cdFx0XHQmLmZyb206YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcztcblx0XHRcdH1cdFxuXHRcdFx0Ji50bzpiZWZvcmV7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuXHRcdFx0fVxuXHRcdFx0Ji5zaW5nbGU6YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2VzcztcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pcnMtZnJvbTphZnRlciwgLmlycy10bzphZnRlciwgLmlycy1zaW5nbGU6YWZ0ZXJ7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuXHRcdH1cblx0XHQvLyB2LjIuMC4xXG5cdFx0Lmlycy1iYXJ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcztcblx0XHR9XG5cdH1cblx0Ji5wcmltYXJ5e1xuXHRcdC5pcnMtZGlhcGFzb257XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOkBjb2xvci1wcmltYXJ5O1xuXHRcdH1cblx0XHQuaXJzLWZyb20sIC5pcnMtdG8sIC5pcnMtc2luZ2xle1xuXHRcdFx0YmFja2dyb3VuZDogQGNvbG9yLXByaW1hcnk7XG5cdFx0fVxuXHRcdC5pcnMtc2xpZGVye1xuXHRcdFx0Ji5mcm9tOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnk7XG5cdFx0XHR9XHRcblx0XHRcdCYudG86YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcHJpbWFyeTtcblx0XHRcdH1cblx0XHRcdCYuc2luZ2xlOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnk7XHRcdFxuXHRcdFx0fVxuXHRcdH1cblx0XHQuaXJzLWZyb206YWZ0ZXIsIC5pcnMtdG86YWZ0ZXIsIC5pcnMtc2luZ2xlOmFmdGVye1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogQGNvbG9yLXByaW1hcnk7XG5cdFx0fVxuXHRcdC8vIHYuMi4wLjFcblx0XHQuaXJzLWJhcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuXHRcdH1cblx0fVxuXHQmLndhcm5pbmd7XG5cdFx0Lmlycy1kaWFwYXNvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6QGNvbG9yLXdhcm5pbmc7XG5cdFx0fVxuXHRcdC5pcnMtZnJvbSwgLmlycy10bywgLmlycy1zaW5nbGV7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAY29sb3Itd2FybmluZztcblx0XHR9XG5cdFx0Lmlycy1zbGlkZXJ7XG5cdFx0XHQmLmZyb206YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZztcblx0XHRcdH1cdFxuXHRcdFx0Ji50bzpiZWZvcmV7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13YXJuaW5nO1xuXHRcdFx0fVxuXHRcdFx0Ji5zaW5nbGU6YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZztcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pcnMtZnJvbTphZnRlciwgLmlycy10bzphZnRlciwgLmlycy1zaW5nbGU6YWZ0ZXJ7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiBAY29sb3Itd2FybmluZztcblx0XHR9XG5cdFx0Ly8gdi4yLjAuMVxuXHRcdC5pcnMtYmFye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmc7XG5cdFx0fVxuXHR9XG5cdCYuY29tcGxldGV7XG5cdFx0Lmlycy1kaWFwYXNvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6QGNvbG9yLWNvbXBsZXRlO1xuXHRcdH1cblx0XHQuaXJzLWZyb20sIC5pcnMtdG8sIC5pcnMtc2luZ2xle1xuXHRcdFx0YmFja2dyb3VuZDogQGNvbG9yLWNvbXBsZXRlO1xuXHRcdH1cblx0XHQuaXJzLXNsaWRlcntcblx0XHRcdCYuZnJvbTpiZWZvcmV7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcblx0XHRcdH1cdFxuXHRcdFx0Ji50bzpiZWZvcmV7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcblx0XHRcdH1cblx0XHRcdCYuc2luZ2xlOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1x0XHRcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmlycy1mcm9tOmFmdGVyLCAuaXJzLXRvOmFmdGVyLCAuaXJzLXNpbmdsZTphZnRlcntcblx0XHRcdGJvcmRlci10b3AtY29sb3I6IEBjb2xvci1jb21wbGV0ZTtcblx0XHR9XG5cdFx0Ly8gdi4yLjAuMVxuXHRcdC5pcnMtYmFye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuXHRcdH1cblx0fVxuXHQmLmRhbmdlcntcblx0XHQuaXJzLWRpYXBhc29ue1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjpAY29sb3ItZGFuZ2VyO1xuXHRcdH1cblx0XHQuaXJzLWZyb20sIC5pcnMtdG8sIC5pcnMtc2luZ2xle1xuXHRcdFx0YmFja2dyb3VuZDogQGNvbG9yLWRhbmdlcjtcblx0XHR9XG5cdFx0Lmlycy1zbGlkZXJ7XG5cdFx0XHQmLmZyb206YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuXHRcdFx0fVx0XG5cdFx0XHQmLnRvOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcblx0XHRcdH1cblx0XHRcdCYuc2luZ2xlOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pcnMtZnJvbTphZnRlciwgLmlycy10bzphZnRlciwgLmlycy1zaW5nbGU6YWZ0ZXJ7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuXHRcdH1cblx0XHQvLyB2LjIuMC4xXG5cdFx0Lmlycy1iYXJ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuXHRcdH1cblx0fVxufVxuXG4vKiBub1VpU2xpZGVyXG5odHRwOi8vcmVmcmVzaGxlc3MuY29tL25vdWlzbGlkZXIvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5ub1VpLXRhcmdldHtcblx0Ym9yZGVyLXJhZGl1czowcHg7XG5cdGJvcmRlcjogMDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0ZGlyZWN0aW9uOiBsdHI7XG5cdCYuYmctY29tcGxldGV7XG5cdFx0Lm5vVWktY29ubmVjdHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1jb21wbGV0ZVxuXHRcdH1cblx0fVxuXHQmLmJnLXN1Y2Nlc3N7XG5cdFx0Lm5vVWktY29ubmVjdHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzXG5cdFx0fVxuXHR9XG5cdCYuYmctd2FybmluZ3tcblx0XHQubm9VaS1jb25uZWN0e1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmdcblx0XHR9XG5cdH1cblx0Ji5iZy1kYW5nZXJ7XG5cdFx0Lm5vVWktY29ubmVjdHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1kYW5nZXJcblx0XHR9XG5cdH1cblx0Ji5iZy1pbmZve1xuXHRcdC5ub1VpLWNvbm5lY3R7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItaW5mb1xuXHRcdH1cblxuXHR9XG5cdCYuYmctcHJpbWFyeXtcblx0XHQubm9VaS1jb25uZWN0e1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnlcblx0XHR9XG5cdFx0XG5cdH1cblx0Ji5ub1VpLWNvbm5lY3R7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxufVxuLm5vVWktaGFuZGxle1xuXHRib3JkZXItcmFkaXVzOjk5OXB4O1xuXHRib3gtc2hhZG93Om5vbmU7XG5cdCY6YmVmb3JlLCAmOmFmdGVye1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxufVxuLm5vVWktaG9yaXpvbnRhbCB7XG5cdGhlaWdodDogNHB4O1xuXHQubm9VaS1oYW5kbGV7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG5cdGxlZnQ6IC0xNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCBtaXgoQGNvbG9yLW1hc3RlciwgI2ZmZiwgMjMlKTtcblx0dG9wOiAtN3B4O1xuXHQudHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlKTtcblx0XHQmOmhvdmVye1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgbWl4KEBjb2xvci1tYXN0ZXIsICNmZmYsIDQwJSk7XG5cdFx0fVxuXHRcdCY6YWN0aXZle1xuXHRcdFx0LnNjYWxlKDEuMyk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBtaXgoQGNvbG9yLW1hc3RlciwgI2ZmZiwgMjMlKTtcblx0XHR9XG5cdFx0Jjpmb2N1c3tcblx0XHRcdC5zY2FsZSgxLjMpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgbWl4KEBjb2xvci1tYXN0ZXIsICNmZmYsIDIzJSk7XG5cdFx0fVxuXHR9XG59XG4uZGlzYWJsZS1ob3Zlci1zY2FsZXtcblx0Lm5vVWktaGFuZGxle1xuXHRcdCY6YWN0aXZle1xuXHRcdFx0LnNjYWxlKDEpO1xuXHRcdH1cblx0XHQmOmZvY3Vze1xuXHRcdFx0LnNjYWxlKDEpO1xuXHRcdH1cdFx0XG5cdH1cbn1cbi52ZXJ0aWNhbC1zbGlkZXJ7XG5cdGhlaWdodDogMTUwcHg7XG59XG4ubm9VaS12ZXJ0aWNhbCB7XG5cdHdpZHRoOiA0cHg7XG5cdC5ub1VpLWhhbmRsZXtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcblx0Ym9yZGVyOiAxcHggc29saWQgbWl4KEBjb2xvci1tYXN0ZXIsICNmZmYsIDIzJSk7XG5cdC50cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UpO1xuXHRcdCY6aG92ZXJ7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBtaXgoQGNvbG9yLW1hc3RlciwgI2ZmZiwgNDAlKTtcblx0XHR9XG5cdFx0JjphY3RpdmV7XG5cdFx0XHQuc2NhbGUoMS4zKTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIG1peChAY29sb3ItbWFzdGVyLCAjZmZmLCAyMyUpO1xuXHRcdH1cblx0XHQmOmZvY3Vze1xuXHRcdFx0LnNjYWxlKDEuMyk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBtaXgoQGNvbG9yLW1hc3RlciwgI2ZmZiwgMjMlKTtcblx0XHR9XG5cdH1cbn1cdFxuLm5vVWktYmFzZXtcblx0cGFkZGluZzogNXB4IDA7XG59XG4ubm9VaS1vcmlnaW57XG5cdGJvcmRlci1yYWRpdXM6IDBweDtcblx0Ym90dG9tOiA1cHg7XG59XG4ubm9VaS1jb25uZWN0e1xuXHRib3gtc2hhZG93Om5vbmU7XG59XG4ubm9VaS1iYWNrZ3JvdW5ke1xuXHRiYWNrZ3JvdW5kOkBzbGlkZXItYmFja2dyb3VuZC1jb2xvcjtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzEzLiBUcmVldmlld11cbiovXG5cbnNwYW4uZHluYXRyZWUtYWN0aXZlIGF7XG5cdGNvbG9yOkBjb2xvci1tYXN0ZXItZGFyayAhaW1wb3J0YW50OyBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuc3Bhbi5keW5hdHJlZS1zZWxlY3RlZCBhe1xuXHRjb2xvcjpAY29sb3ItbWFzdGVyLWRhcmsgIWltcG9ydGFudDsgXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxudWwuZHluYXRyZWUtY29udGFpbmVyIGE6Zm9jdXMsIHNwYW4uZHluYXRyZWUtZm9jdXNlZCBhOmxpbmt7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxudWwuZHluYXRyZWUtY29udGFpbmVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YTpob3Zlcntcblx0XHRjb2xvcjogQGNvbG9yLW1hc3Rlcjtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxudWwuZHluYXRyZWUtY29udGFpbmVyIGF7XG5cdGNvbG9yOiBAY29sb3ItbWFzdGVyO1xufVxuXG5zcGFuLmR5bmF0cmVlLWVtcHR5LCBzcGFuLmR5bmF0cmVlLXZsaW5lLCBzcGFuLmR5bmF0cmVlLWNvbm5lY3Rvciwgc3Bhbi5keW5hdHJlZS1leHBhbmRlciwgc3Bhbi5keW5hdHJlZS1pY29uLCBzcGFuLmR5bmF0cmVlLWNoZWNrYm94LCBzcGFuLmR5bmF0cmVlLXJhZGlvLCBzcGFuLmR5bmF0cmVlLWRyYWctaGVscGVyLWltZywgI2R5bmF0cmVlLWRyb3AtbWFya2Vye1xuXHRoZWlnaHQ6IDE3cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAzcHg7XG59XG5cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bMTQuIE5lc3N0YWJsZXNdXG4qL1xuXG4uZGQtaGFuZGxle1xuXHRib3JkZXItY29sb3I6IGZhZGUoQGNvbG9yLW1hc3Rlci1saWdodCwgNzAlKTtcblx0Y29sb3I6QGNvbG9yLW1hc3Rlcjtcblx0Jjpob3Zlcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0XG5cdH1cbn1cblxuLmRhcmsge1xuXHQuZGQtaGFuZGxle1xuXHRjb2xvcjpAY29sb3ItbWFzdGVyO1xuXHRiYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG5cdFx0Jjpob3Zlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlc3Rcblx0XHR9XG5cdH1cblx0LmRkLXBsYWNlaG9sZGVye1xuXHRcdGJhY2tncm91bmQtY29sb3I6QGNvbG9yLW1hc3Rlci1saWdodDtcblx0fVxuXG59XG5cbi5kZDMtY29udGVudHtcblx0YmFja2dyb3VuZDojZmZmO1xuXHRib3JkZXItY29sb3I6IGZhZGUoQGNvbG9yLW1hc3Rlci1saWdodCwgNzAlKTtcblx0Y29sb3I6QGNvbG9yLW1hc3Rlcjtcblx0Jjpob3Zlcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0XG5cdH1cbn1cblxuLmRkMy1oYW5kbGV7XG5cdGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG5cdHRleHQtaW5kZW50OiA5OTk5cHg7XG5cdCY6YmVmb3Jle1xuXHRcdGZvbnQtZmFtaWx5OiAncGFnZXMtaWNvbic7XG5cdFx0Y29sb3I6QGNvbG9yLW1hc3Rlcjtcblx0XHRjb250ZW50OlwiXFxlNjYwXCI7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdHRvcDogNXB4O1xuXHR9XG59XG5cbi5kZC1wbGFjZWhvbGRlcntcblx0YmFja2dyb3VuZDpAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG5cdGJvcmRlci1jb2xvcjogZmFkZShAY29sb3ItbWFzdGVyLCAzNSUpO1xufVxuXG4uZGQtZW1wdHl7XG5cdGJhY2tncm91bmQtaW1hZ2U6bm9uZTtcblx0YmFja2dyb3VuZDpAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG5cdGJvcmRlci1jb2xvcjogZmFkZShAY29sb3ItbWFzdGVyLCA1MCUpO1xufVxuLmRkLWl0ZW0gPiBidXR0b257XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0JjpiZWZvcmV7XG5cdGZvbnQtZmFtaWx5OiAncGFnZXMtaWNvbic7XG5cdGNvbnRlbnQ6IFwiXFxlNjNiXCI7XG5cdH1cbn1cbi5kZC1pdGVtID4gYnV0dG9uW2RhdGEtYWN0aW9uPVwiY29sbGFwc2VcIl06YmVmb3Jle1xuXHRmb250LWZhbWlseTogJ3BhZ2VzLWljb24nO1xuXHRjb250ZW50OiBcIlxcZTYzNVwiO1xufVxuXG4vKiBSZXNwb25zaXZlIEhhbmRsZXJzIDogTmVzdGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7IFxuXHQuZGQge1xuXHR3aWR0aDogMTAwJTtcblx0fVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bMTUuIEZvcm0gRWxlbWVudHNdXG4qL1xuXG5sYWJlbCxcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDFweCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG5pbnB1dDpmb2N1cyxcbnNlbGVjdDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzLFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG59XG5cbmZvcm0gbGVnZW5kIHtcbiAgICAubWFyZ2luKDE1cHgsIDBweCwgMTBweCwgMHB4KTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyLWRhcms7XG4gICAgb3V0bGluZTogMDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgLnRyYW5zaXRpb24oYWxsIDAuMTJzIGVhc2UpO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICAgIC5ib3JkZXItcmFkaXVzKDJweCk7XG4gICAgLnRyYW5zaXRpb24oYmFja2dyb3VuZCAwLjJzIGxpbmVhciAwcyk7XG4gICAgJjpmb2N1c3tcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBmYWRlKEBjb2xvci1ibGFjaywgMTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICAgICAgLmJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgIC5wbGFjZWhvbGRlcihpbmhlcml0LCAuNyk7XG4gICAgfVxuICAgIC5wbGFjZWhvbGRlcihpbmhlcml0LCAuMzMpO1xuICAgICZbZGlzYWJsZWRdLFxuICAgICZbcmVhZG9ubHldLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAme1xuICAgICAgICBiYWNrZ3JvdW5kOiBtaXgoQGNvbG9yLW1hc3Rlci1saWdodGVyLCAjZmZmLCA1MCUpO1xuICAgICAgICBjb2xvcjogZmFkZShAY29sb3ItbWFzdGVyLCAyMyUpO1xuICAgIH1cbiAgICAvL1RleHRmaWVsZHMgYW5kIGlucHRcbiAgICAmLnRyYW5zcGFyZW50e1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogSW5wdXQgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4uaW5wdXQtc20sXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogOHB4IDlweDtcbn1cblxuLmlucHV0LWxnLFxuLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nOiAxMXB4IDEzcHg7XG59XG5cbi5pbnB1dC14bGd7XG4gICAgaGVpZ2h0OiA1MXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbn1cblxuXG4vKiBDaGVja2JveGVzIGFuZCBSYWRpbyBidXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgbGFiZWx7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWl4KEBjb2xvci1tYXN0ZXIsICNmZmYsIDMwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yYWRpbyB7XG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMi41cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oYm9yZGVyIC4zcyAwcyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjIxNSwgMS4zMzApKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkLCBpbnB1dFt0eXBlPXJhZGlvXTppbmRldGVybWluYXRlIHtcbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXN7XG4gICAgICAgICYgKyBsYWJlbHtcbiAgICAgICAgICAgIGNvbG9yOkBjb2xvci1tYXN0ZXItZGFyaztcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0ge1xuICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZXtcbiAgICAucmFkaW8ucmFkaW8tc3VjY2VzcyAme1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuICAgIH1cbiAgICAucmFkaW8ucmFkaW8tcHJpbWFyeSAme1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgICAucmFkaW8ucmFkaW8taW5mbyAme1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1pbmZvO1xuICAgIH1cbiAgICAucmFkaW8ucmFkaW8td2FybmluZyAme1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci13YXJuaW5nO1xuICAgIH1cbiAgICAucmFkaW8ucmFkaW8tZGFuZ2VyICZ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLWRhbmdlcjtcbiAgICB9XG4gICAgLnJhZGlvLnJhZGlvLWNvbXBsZXRlICZ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuICAgIH1cbn1cblxuLmNoZWNrYm94IHtcbiAgICBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0ge1xuICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciAwcywgY29sb3IgMC4ycyBsaW5lYXIgMHM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMS40cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBsaW5lYXIgMHMsIGNvbG9yIDAuMnMgbGluZWFyIDBzO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMy4ycHg7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciAwcywgY29sb3IgMC4ycyBsaW5lYXIgMHM7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgICAmLmNoZWNrYm94LWNpcmNsZSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIHtcbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgIC8vY29sb3I6ICM0ZDUwNTY7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA4LjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcXEYwMENcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTppbmRldGVybWluYXRlIHtcbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDguNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlxcRjA2OFwiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQuNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1c3tcbiAgICAgICAgJiArIGxhYmVse1xuICAgICAgICAgICAgY29sb3I6QGNvbG9yLW1hc3Rlci1kYXJrO1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0ge1xuICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlZmYzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYucmlnaHQge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHJpZ2h0Oi0zNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6YXV0bztcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQge1xuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlxcRjAwQ1wiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjdweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcXEYwNjhcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTI3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLy9SVExcbmJvZHkucnRsIC5jaGVja2JveCBsYWJlbDo6YWZ0ZXJ7XG4gICAgbGVmdDogLTEuMnB4O1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWx7XG4gICAgLmNoZWNrYm94LmNoZWNrLXN1Y2Nlc3MgJjpiZWZvcmV7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLXN1Y2Nlc3M7XG4gICAgfVxuICAgIC5jaGVja2JveC5jaGVjay1wcmltYXJ5ICY6YmVmb3Jle1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgICAuY2hlY2tib3guY2hlY2stY29tcGxldGUgJjpiZWZvcmV7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuICAgIH1cbiAgICAuY2hlY2tib3guY2hlY2std2FybmluZyAmOmJlZm9yZXtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3Itd2FybmluZztcbiAgICB9XG4gICAgLmNoZWNrYm94LmNoZWNrLWRhbmdlciAmOmJlZm9yZXtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgIH1cbiAgICAuY2hlY2tib3guY2hlY2staW5mbyAmOmJlZm9yZXtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItaW5mbztcbiAgICB9XG5cbiAgICAuY2hlY2tib3guY2hlY2stc3VjY2VzcyAmOjphZnRlcixcbiAgICAuY2hlY2tib3guY2hlY2stcHJpbWFyeSAmOjphZnRlcixcbiAgICAuY2hlY2tib3guY2hlY2stY29tcGxldGUgJjo6YWZ0ZXIsXG4gICAgLmNoZWNrYm94LmNoZWNrLXdhcm5pbmcgJjo6YWZ0ZXIsXG4gICAgLmNoZWNrYm94LmNoZWNrLWRhbmdlciAmOjphZnRlcixcbiAgICAuY2hlY2tib3guY2hlY2staW5mbyAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgfVxuXG59XG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGR7XG4gICAgLmJvcmRlci1yaWdodCgwKTtcbiAgICAuYm9yZGVyLWxlZnQoMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yKTtcbiAgICAuYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygycHgpO1xuICAgIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDJweCk7XG4gICAgLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxke1xuICAgIC5ib3JkZXItcmlnaHQoMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yKTtcbiAgICAuYm9yZGVyLWxlZnQoMCk7XG4gICAgLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDJweCk7XG4gICAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKDJweCk7XG59XG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZHtcbiAgICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKDApXG59XG5cbi5pbnB1dC1ncm91cHtcbiAgICAmLnRyYW5zcGFyZW50e1xuICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb257XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjpAZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiBGb3JtIGxheW91dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvcm17XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAucm93IFtjbGFzcyo9J2NvbC0nXXtcblxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgLnBhZGRpbmctcmlnaHQoN3B4KTtcbiAgICAgICAgICAgICAgICAucGFkZGluZy1sZWZ0KDdweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgLnBhZGRpbmctbGVmdCgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAucGFkZGluZy1yaWdodCgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KXtcbiAgZm9ybSAucm93IFtjbGFzcyo9XCJjb2wtbWQtXCJdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICBmb3JtIC5yb3cgW2NsYXNzKj1cImNvbC1tZC1cIl06bm90KDpsYXN0LWNoaWxkKXtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuLyogRm9ybSBsYXlvdXRzICA6IEhvcml6b250YWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmZvcm0taG9yaXpvbnRhbCB7XG4gICAgLmZvcm0tZ3JvdXB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTlweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE5cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciAuY29udHJvbC1sYWJlbHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICB9XG4gICAgICAgICYuZm9jdXNlZCAuY29udHJvbC1sYWJlbHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRyb2wtbGFiZWx7XG4gICAgICAgICAgICAudGV4dC1hbGlnbihsZWZ0KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40MjtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKG9wYWNpdHkgZWFzZSAuM3MpXG4gICAgICAgIH1cbiAgICB9XG59XG4vKiBGb3JtIGxheW91dHMgIDogQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmZvcm0tZ3JvdXAtYXR0YWNoZWR7XG4gICAgLmZvcm0tZ3JvdXAuZm9ybS1ncm91cC1kZWZhdWx0e1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAmID4gZGl2e1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAmLnJvdyA+IFtjbGFzcyo9J2NvbC0nXXtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIC5mb3JtLWdyb3VwLWRlZmF1bHR7XG4gICAgICAgICAgICAgICAgICAgIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKDJweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCAuZm9ybS1ncm91cC1kZWZhdWx0e1xuICAgICAgICAgICAgICAgICAgICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmZvcm0tZ3JvdXAtZGVmYXVsdHtcbiAgICAgICAgICAgICAgICAuYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygycHgpO1xuICAgICAgICAgICAgICAgIC5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgJi5yb3cgPiBbY2xhc3MqPSdjb2wtJ117XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCAuZm9ybS1ncm91cC1kZWZhdWx0e1xuICAgICAgICAgICAgICAgICAgICAuYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygycHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgLmZvcm0tZ3JvdXAtZGVmYXVsdHtcbiAgICAgICAgICAgICAgICAgICAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKDJweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5mb3JtLWdyb3VwLWRlZmF1bHR7XG4gICAgICAgICAgICAgICAgLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMnB4KTtcbiAgICAgICAgICAgICAgICAuYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnJvdyA+IFtjbGFzcyo9J2NvbC0nXXtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYucm93ID4gW2NsYXNzKj0nY29sLSddOm5vdCg6b25seS1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWdyb3VwLWRlZmF1bHR7XG4gICAgICAgICAgICAuYm9yZGVyLXJpZ2h0LWNvbG9yKHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmZvcm0tZ3JvdXAtZGVmYXVsdCxcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpLmZvcm0tZ3JvdXAtZGVmYXVsdHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8qIEZvcm0gbGF5b3V0cyAgOiBSZXNwb25zaXZlIEhhbmRsZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5mb3JtLWdyb3VwLWF0dGFjaGVkIC5mb3JtLWdyb3VwLWRlZmF1bHR7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGZvcm0tY29udHJvbC1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZm9ybS1ncm91cC1hdHRhY2hlZCA+IGRpdi5yb3d7XG4gICAgICAgICYgPiBbY2xhc3MqPSdjb2wtJ117XG4gICAgICAgICAgICAuZm9ybS1ncm91cHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vKiBGb3JtIEdyb3Vwc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uZm9ybS1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBsYWJlbDpub3QoLmVycm9yKXtcbiAgICAgICAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQnO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIGxhYmVsIC5oZWxwe1xuICAgICAgICAubWFyZ2luLWxlZnQoOHB4KTtcblxuICAgIH1cbiAgICAuaGVscCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6IGZhZGUoQGNvbG9yLW1hc3RlciwgNTUlKTtcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAudHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlKTtcbiAgICAmLnJlcXVpcmVkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci1kYW5nZXI7XG4gICAgICAgIGNvbnRlbnQ6XCIqXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC5yaWdodCgxMnB4KTtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgfVxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kOm1peChAY29sb3ItbWFzdGVyLWxpZ2h0ZXIsI2ZmZiw1MCUpO1xuICAgICAgICBjb2xvcjogZmFkZShAY29sb3ItbWFzdGVyLCAyMyUpO1xuICAgICAgICAmLmZvY3VzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDptaXgoQGNvbG9yLW1hc3Rlci1saWdodGVyLCNmZmYsNTAlKTtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuZm9jdXNlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmhhcy1lcnJvcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZShAY29sb3ItZGFuZ2VyLDEwJSk7XG4gICAgfVxuICAgICYuaGFzLXN1Y2Nlc3MsICYuaGFzLWVycm9ye1xuICAgICAgICAuZm9ybS1jb250cm9sLWZlZWRiYWNre1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbCxcbiAgICAmLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gICAgJi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCxcbiAgICAmLmhhcy1lcnJvciAuZm9ybS1jb250cm9sOmZvY3Vze1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICYuaW5wdXQtZ3JvdXB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICYgPiBsYWJlbHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgIC5wYWRkaW5nLWxlZnQoMTJweCk7XG4gICAgICAgICAgICAmLmlubGluZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiAuZm9ybS1jb250cm9se1xuICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgIC5wYWRkaW5nLWxlZnQoMTJweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmlucHV0LWdyb3VwLWFkZG9ue1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKEBmb3JtLWdyb3VwLWhlaWdodCAtIDRweCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6Y2FsYyhAZm9ybS1ncm91cC1oZWlnaHQgLSA0cHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICB9XG4gICAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb257XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiBkaXYuZm9ybS1jb250cm9se1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICB9XG4gICAgJiAuZm9ybS1jb250cm9se1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAmLmVycm9ye1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyaztcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHRleHRhcmVhLmZvcm0tY29udHJvbHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAudHJhbnNpdGlvbihvcGFjaXR5IC4ycyBlYXNlKTtcbiAgICAgICAgJi5sYWJlbC1sZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sYWJlbC1zbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBsZWZ0OiAxMXB4O1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5oaWdobGlnaHR7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICYuZmFkZXtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gLmlucHV0LWxnIHtcbiAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOXB4O1xuICAgICAgICAucGFkZGluZy1sZWZ0KDFweCk7XG4gICAgfVxuICAgICYgPiAuaW5wdXQtc20ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgICYuZm9ybS1ncm91cC1kZWZhdWx0LXNlbGVjdHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIC51aS1zZWxlY3QtY29udGFpbmVyLnVpLXNlbGVjdC1ib290c3RyYXAuZHJvcGRvd24ge1xuICAgICAgICAgICAgLnVpLXNlbGVjdC1tYXRjaHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWktc2VsZWN0LWNvbnRhaW5lcntcbiAgICAgICAgICAgIC5zZWxlY3QyLWNob2ljZXN7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmZvcm0tZ3JvdXAtZGVmYXVsdC1zZWxlY3Qye1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAmID4gbGFiZWx7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIC5wYWRkaW5nKDdweCwgMTJweCwgMCwgMTJweCk7XG4gICAgICAgICAgICAmLmxhYmVsLWxne1xuICAgICAgICAgICAgICAgIC5sZWZ0KDApO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGFiZWwtc217XG4gICAgICAgICAgICAgICAgLmxlZnQoMCk7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lcntcbiAgICAgICAgICAgIC5zZWxlY3QyLWNob2ljZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICAgICAgLnNlbGVjdDItYXJyb3cgYjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNlbGVjdDItY2hvc2Vue1xuICAgICAgICAgICAgICAgICAgICAucGFkZGluZy1sZWZ0KDNweCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNlbGVjdDItY2hvaWNlc3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICYgPiAuaW5wdXQtbGd7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLnNlbGVjdDItY2hvaWNle1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gLmlucHV0LXNte1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC5zZWxlY3QyLWNob2ljZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5mb3JtLWdyb3VwLWRlZmF1bHQtc2VsZWN0Rnh7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICYgPiBsYWJlbHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgLnBhZGRpbmcoN3B4LCAxMnB4LCAwLCAxMnB4KTtcbiAgICAgICAgICAgICYubGFiZWwtbGd7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxhYmVsLXNte1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jcy13cmFwcGVye1xuICAgICAgICAgICAgLmNzLXBsYWNlaG9sZGVye1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgICAgICAgICAucGFkZGluZy1sZWZ0KDEycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNzLXNlbGVjdHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgICAgICAgIC5jcy1zZWxlY3RlZCBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICB0b3A6IDM5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaW5wdXQtbGcgLmNzLXBsYWNlaG9sZGVye1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAmLmlucHV0LXNtIC5jcy1wbGFjZWhvbGRlcntcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kcm9wZG93bi1wbGFjZWhvbGRlcntcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBGb3JtIHZhbGlkYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmhhcy1zdWNjZXNzIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBjb2xvci1zdWNjZXNzLWRhcms7IEBjb2xvci1zdWNjZXNzLWRhcms7IEBjb2xvci1zdWNjZXNzKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gICAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBjb2xvci13YXJuaW5nLWRhcms7IEBjb2xvci13YXJuaW5nLWRhcms7IEBjb2xvci13YXJuaW5nKTtcbn1cbi5oYXMtZXJyb3Ige1xuICAgIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAY29sb3ItZGFuZ2VyOyBAY29sb3ItZGFuZ2VyOyBAY29sb3ItZGFuZ2VyKTtcbn1cbi5lcnJvciB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiBAY29sb3ItZGFuZ2VyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBBZGRvbiBpbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgY29sb3I6IGZhZGUoQGNvbG9yLW1hc3RlciwgNDclKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogNnB4IDlweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBsaW5lYXIgMHMsIGJveC1zaGFkb3cgMC4ycyBsaW5lYXIgMHMsIGNvbG9yIDAuMnMgbGluZWFyIDBzLCBib3gtc2hhZG93IDAuMnMgbGluZWFyIDBzLCBiYWNrZ3JvdW5kIDAuMnMgbGluZWFyIDBzO1xuICAgIGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cbiAgICAmLnByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItcHJpbWFyeTtcbiAgICAgICAgY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5MGQ5O1xuICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgY29sb3I6ICMwMDkwZDk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMzg1MztcbiAgICAgICAgY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMWYzODUzO1xuICAgICAgICB9XG4gICAgfVxuICAgICYud2FybmluZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmIwNWU7XG4gICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmIwNWU7XG4gICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZiYjA1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmRhbmdlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMzU5NTg7XG4gICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogI2YzNTk1ODtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5yaWdodCgtNnB4KTtcbiAgICAgICAgY29sb3I6ICNEMURBREU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgIGNvbnRlbnQ6XCJcXGYwZGFcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC5sZWZ0KDE3cHgpO1xuICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICBjb250ZW50OlwiXFxmMGQ5XCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAubGVmdCgtMjNweCk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cblxuLyogUGx1Z2luc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRhdGVwaWNrZXJcbmh0dHBzOi8vZ2l0aHViLmNvbS9ldGVybmljb2RlL2Jvb3RzdHJhcC1kYXRlcGlja2VyXG4qL1xuLmRhdGVwaWNrZXIge1xuICAgIHBhZGRpbmc6IDE2cHggMjVweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlc3Q7XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgLmRhdGVwaWNrZXItc3dpdGNoIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzZmN2I4YTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmV4dCxcbiAgICAgICAgICAgIC5wcmV2e1xuICAgICAgICAgICAgICAgIGNvbG9yOiAgQGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgQGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJldjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcXGYwNTNcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uZXh0OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlxcZjA1NFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRvdyB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICAub2RkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2QwZDNkODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICAgICAgJi5vbGQsXG4gICAgICAgICAgICAgICAgJi5uZXd7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmRheSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOkBjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnRvZGF5e1xuICAgICAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAmLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZS5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuZHJvcGRvd24tbWVudXtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICBjb2xvcjpAY29sb3ItbWFzdGVyO1xuICAgIH1cbiAgICAmLmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmJlZm9yZXtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgIH1cbn1cblxuLmRhdGVwaWNrZXItaW5saW5lIHtcbiAgICB3aWR0aDogYXV0bztcbn1cbi5pbnB1dC1kYXRlcmFuZ2UgLmlucHV0LWdyb3VwLWFkZG9ue1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjowO1xufVxuXG4vKiBUaW1lcGlja2VyXG5odHRwczovL2dpdGh1Yi5jb20vbTN3b2xmL2Jvb3RzdHJhcDMtdGltZXBpY2tlclxuKi9cblxuLmJvb3RzdHJhcC10aW1lcGlja2VyLXdpZGdldHtcbiAgICB0YWJsZSB0ZCBhIGl7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgYS5idG4sIC5ib290c3RyYXAtdGltZXBpY2tlci13aWRnZXQgaW5wdXR7XG4gICAgICAgIC5ib3JkZXItcmFkaXVzKDJweCk7XG4gICAgfVxuICAgICYuZHJvcGRvd24tbWVudXtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG59XG5cblxuLyogRGF0ZXJhbmdlcGlja2VyXG5odHRwOi8vd3d3LmRhbmdyb3NzbWFuLmluZm8vXG4qL1xuXG4uZGF0ZXJhbmdlcGlja2Vye1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLmNhbGVuZGFye1xuICAgICAgICAuY2FsZW5kYXItZGF0ZXtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5wcmV2LCAubmV4dCwgdGh7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5tb250aHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmY3YjhhO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRkLmFjdGl2ZSwgdGQuYWN0aXZlOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItcHJpbWFyeTtcbiAgICB9XG4gICAgdGQuaW4tcmFuZ2V7XG4gICAgICAvL8OlICBiYWNrZ3JvdW5kOkBjb2xvci1wcmltYXJ5LWxpZ2h0ZXI7XG4gICAgfVxufVxuLyogU2VsZWN0MlxuaHR0cDovL2l2YXluYmVyZy5naXRodWIuaW8vc2VsZWN0Mi9cbiovXG5cbi5mb3JtLWdyb3VwLWRlZmF1bHQgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSxcbi5zZWxlY3QyLWNvbnRhaW5lci1tdWx0aSAuc2VsZWN0Mi1jaG9pY2Vze1xuICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgLnNlbGVjdDItY2hvaWNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogM3B4IDlweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgbGluZWFyIDBzO1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIC5zZWxlY3QyLWFycm93IHtcbiAgICAgICAgICAgIC5yaWdodCgwKTtcbiAgICAgICAgICAgIC5sZWZ0KGF1dG8pO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMHB4O1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZSk7XG4gICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcXGYwZDdcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgLnJpZ2h0KDVweCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5zZWxlY3QyLWNob3NlbntcbiAgICAgICAgICAgIC5tYXJnaW4tcmlnaHQoMjZweCk7XG4gICAgICAgICAgICAubWFyZ2luLWxlZnQoMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zZWxlY3QyLWRyb3AtYWJvdmUge1xuICAgICAgICAuc2VsZWN0Mi1jaG9pY2Uge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5zZWxlY3QyLXNlYXJjaCBpbnB1dCxcbi5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2UsXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIGFiYnIsXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IGJ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNlbGVjdDItZHJvcGRvd24tb3Blbi5zZWxlY3QyLWRyb3AtYWJvdmUgLnNlbGVjdDItY2hvaWNlLFxuLnNlbGVjdDItZHJvcGRvd24tb3Blbi5zZWxlY3QyLWRyb3AtYWJvdmUgLnNlbGVjdDItY2hvaWNlcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duLW9wZW4ge1xuICAgIC5zZWxlY3QyLWNob2ljZSB7XG4gICAgICAgIC5zZWxlY3QyLWFycm93IHtcbiAgICAgICAgICAgIC5zY2FsZShzY2FsZSgxLCAtMSkpO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG4uc2VsZWN0Mi1kcm9wIHtcbiAgICAmLnNlbGVjdDItZHJvcC1hYm92ZSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgJi5zZWxlY3QyLWRyb3AtYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2VsZWN0Mi1jb250YWluZXItYWN0aXZlIC5zZWxlY3QyLWNob2ljZSxcbi5zZWxlY3QyLWNvbnRhaW5lci1hY3RpdmUgLnNlbGVjdDItY2hvaWNlcyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG59XG4uc2VsZWN0Mi1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgIH1cbn1cbi5zZWxlY3QyLXJlc3VsdHMge1xuICAgIC5tYXJnaW4oIDNweCwgMTBweCwgMTBweCwgM3B4KTtcbiAgICBsaSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICAmLnNlbGVjdDItcmVzdWx0LXdpdGgtY2hpbGRyZW4ge1xuICAgICAgICAgICAgJiA+IC5zZWxlY3QyLXJlc3VsdC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyaztcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VsZWN0Mi1oaWdobGlnaHRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAuc2VsZWN0Mi1yZXN1bHQtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICBAY29sb3ItbWFzdGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxlY3QyLW5vLXJlc3VsdHMsXG4gICAgLnNlbGVjdDItc2VhcmNoaW5nLFxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi1saW1pdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIC5wYWRkaW5nLWxlZnQoOHB4KTtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC01cHg7XG4gICAgfVxufVxuXG4uc2VsZWN0Mi1kcm9wLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHotaW5kZXg6IEB6SW5kZXgtbmF2YmFyIC0gMTA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItbXVsdGkge1xuICAgIC5zZWxlY3QyLWNob2ljZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgbWFyZ2luOjhweCAtNXB4IDdweCAxMHB4O1xuICAgICAgICAgICAgLnBhZGRpbmcoNHB4LCA4cHgsIDRweCwgMjFweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci1hY3RpdmUge1xuICAgICAgICAuc2VsZWN0Mi1jaG9pY2VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgICAgICAubGVmdCg2cHgpO1xuICAgIH1cbn1cbi5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdG9wOiA0cHg7XG4gICAgLnJpZ2h0KDApO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztcbiAgICAgICAgY29udGVudDpcIlxcZjAwZFwiO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICAgIH1cbn1cbi5zZWxlY3QyLWRyb3AtbXVsdGkgLnNlbGVjdDItcmVzdWx0cyB7XG4gICAgLnNlbGVjdDItbm8tcmVzdWx0cyxcbiAgICAuc2VsZWN0Mi1zZWFyY2hpbmcsXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLWxpbWl0IHtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgfVxufVxuLnNlbGVjdDIge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cblxuLnNlbGVjdDItZHJvcC1tYXNre1xuICAgIHotaW5kZXg6IDcwMDtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdy5hY3RpdmUgPiBhe1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG59XG4udWktc2VsZWN0LWJvb3RzdHJhcCA+IC51aS1zZWxlY3QtY2hvaWNlc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIC8vIGJveC1zaGFkb3c6IDBweCA0cHggNXB4IHJnYmEoMCzigIsgMCzigIsgMCzigIsgMC4xNSk7XG59XG4udWktc2VsZWN0LWNob2ljZXMtZ3JvdXAtbGFiZWx7XG4gICAgY29sb3I6IEBjb2xvci1tYXN0ZXItZGFyaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5tb2RhbC1vcGVue1xuICAgIC5zZWxlY3QyLWRyb3AtYWN0aXZle1xuICAgICAgICB6LWluZGV4OiAxMDUxO1xuICAgIH1cbiAgICAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51e1xuICAgICAgICB6LWluZGV4OiAxMDUxICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZWxlY3QyLWRyb3AtbWFza3tcbiAgICAgICAgei1pbmRleDogMTA1MDtcbiAgICB9XG4gICAgLmNzLXNraW4tc2xpZGUuY3MtYWN0aXZle1xuICAgICAgICB6LWluZGV4OiAxMDUwO1xuICAgIH1cbn1cblxuLmRyb3Bkb3duLXBsYWNlaG9sZGVye1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmRyb3Bkb3duLW1hc2t7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICBvdXRsaW5lOiAwIG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IEB6SW5kZXgtZHJvcGRvd25NYXNrO1xufVxuXG4vKiBCb290c3RyYXAgVGFncyBpbnB1dFxuaHR0cHM6Ly9naXRodWIuY29tL3RpbXNjaGxlY2h0ZXIvYm9vdHN0cmFwLXRhZ3NpbnB1dFxuKi9cblxuLmZvcm0tZ3JvdXAtZGVmYXVsdCAuYm9vdHN0cmFwLXRhZ3NpbnB1dHtcbiAgICBib3JkZXI6MHB4O1xuICAgIC5wYWRkaW5nLWxlZnQoMCk7XG59XG4uYm9vdHN0cmFwLXRhZ3NpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLnRyYW5zaXRpb24oYmFja2dyb3VuZCAwLjJzIGxpbmVhciAwcyk7XG4gICAgJi5hY3RpdmUtZWxlbWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1pbi13aWR0aDogMTBlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudGFnIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogNnB4IDlweDtcbiAgICAgICAgLnBhZGRpbmctcmlnaHQoNnB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG4gICAgLnRhZ1tkYXRhLXJvbGU9XCJyZW1vdmVcIl17XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgfVxuICAgIC50YWdbZGF0YS1yb2xlPVwicmVtb3ZlXCJdOmhvdmVyOmFjdGl2ZSxcbiAgICAudGFnIFtkYXRhLXJvbGU9XCJyZW1vdmVcIl06aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAudGFnIFtkYXRhLXJvbGU9XCJyZW1vdmVcIl06YWZ0ZXJ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncGFnZXMtaWNvbic7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNjBhXCI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vKiBCb290c3RyYXAzIHd5c2lodG1sNVxuaHR0cHM6Ly9naXRodWIuY29tL1dheG9sdW5pc3QvYm9vdHN0cmFwMy13eXNpaHRtbDUtYm93ZXJcbiovXG4ud3lzaXd5ZzUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC53eXNpaHRtbDUtdG9vbGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLypoZWlnaHQ6IDUwcHg7Ki9cbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAjQTVBNUE1O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6aG92ZXIgLmVkaXRvci1pY29uIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlIC5lZGl0b3ItaWNvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAucGFkZGluZy1sZWZ0KDEwcHgpO1xuICAgICAgICAgICAgICAgIC5wYWRkaW5nLXJpZ2h0KDIwcHgpO1xuICAgICAgICAgICAgICAgIC5jdXJyZW50LWZvbnQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53eXNpd3lnIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTo1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6QGNvbG9yLW1hc3Rlci1saWdodGVzdDtcbiAgICAgICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5leHBhbmQtd3lzaXd5ZyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICNBNUE1QTU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC5yaWdodCgwKTtcbiAgICB9XG4gICAgLnd5c2lodG1sNS1zYW5kYm94e1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTZweCAxNnB4IDUwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgJi5leHBhbmRlZHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuLnRvZ2dsZS13eXNpd3lnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLnJpZ2h0KDE1cHgpO1xuICAgIHRvcDogMDtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG4uZWRpdG9yLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9lZGl0b3JfdHJheS5wbmdcIik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgJi1oZWFkbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgd2lkdGg6MzFweDtcbiAgICB9XG4gICAgJi1ib2xkIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggMDtcbiAgICB9XG4gICAgJi1pdGFsaWMge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwO1xuICAgIH1cbiAgICAmLXVuZGVybGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAwO1xuICAgIH1cbiAgICAmLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggMDtcbiAgICB9XG4gICAgJi1xdW90ZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDBweCAwO1xuICAgIH1cbiAgICAmLXVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IDA7XG4gICAgfVxuICAgICYtb2wge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjgwcHggMDtcbiAgICB9XG4gICAgJi1vdXRkZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyMHB4IDA7XG4gICAgfVxuICAgICYtaW5kZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IDA7XG4gICAgfVxuICAgICYtaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwcHggMDtcbiAgICB9XG4gICAgJi1odG1sIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0MHB4IDA7XG4gICAgfVxufVxuXG4vKiBTdW1tZXJub3RlXG5odHRwczovL2dpdGh1Yi5jb20vSGFja2VyV2lucy9zdW1tZXJub3RlXG4qL1xuLnN1bW1lcm5vdGUtd3JhcHBlcntcbiAgICAubm90ZS1lZGl0b3J7XG4gICAgICAgIGJvcmRlci1jb2xvcjpAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICAubm90ZS10b29sYmFye1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAuYnRuLWdyb3Vwe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMXB4IDAgMDtcbiAgICAgICAgICAgICAgICAuYnRue1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0N3B4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3RlcjtcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsICY6YWN0aXZle1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNjFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCksICY6bm90KDpvbmx5LWNoaWxkKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ub3RlLXN0YXR1c2JhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC5ub3RlLXJlc2l6ZWJhcntcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAubm90ZS1pY29uLWJhcntcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ub3RlLXBvcG92ZXIgLnBvcG92ZXIgLnBvcG92ZXItY29udGVudCAuZHJvcGRvd24tbWVudSBsaSBhIGksIC5ub3RlLXRvb2xiYXIgLmRyb3Bkb3duLW1lbnUgbGkgYSBpe1xuICAgICAgICBjb2xvcjogQGNvbG9yLXByaW1hcnk7XG4gICAgfVxufVxuXG5cblxuXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjsgQGJvcmRlci1jb2xvcjsgQGJhY2tncm91bmQtY29sb3IpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSAge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIC8vQHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbihAYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgLmJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgY29sb3I6IGZhZGUoQGNvbG9yLW1hc3RlciwgNDclKTtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yLCBAb3BhY2l0eSkge1xuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjsgICAvLyBGaXJlZm94XG4gICAgICAgIG9wYWNpdHk6IEBvcGFjaXR5O1xuICAgIH0gLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAge1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgICB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgb3BhY2l0eTogQG9wYWNpdHk7XG4gICAgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG5cbi8vIFdlYmtpdCBmaXhlc1xuaW5wdXQsIGlucHV0OmZvY3Vze1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggI2ZmZiBpbnNldCAhaW1wb3J0YW50O1xufVxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggQGNvbG9yLW1hc3Rlci1saWdodGVyIGluc2V0ICFpbXBvcnRhbnQ7XG59XG5pbnB1dC5lcnJvcjotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQuZXJyb3I6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbi5oYXMtZXJyb3IgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggI0Y5RTlFOSBpbnNldCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIFBhZ2VzIFNlbGVjdEZ4ICovXG5cbi8qIERlZmF1bHQgY3VzdG9tIHNlbGVjdCBzdHlsZXMgKi9cbmRpdi5jcy1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRleHQtYWxpZ24obGVmdCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuZGl2LmNzLXNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgLyogRm9yIGJldHRlciBhY2Nlc3NpYmlsaXR5IGFkZCBhIHN0eWxlIGZvciB0aGlzIGluIHlvdXIgc2tpbiAqL1xufVxuXG4uY3Mtc2VsZWN0IHNlbGVjdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNzLXNlbGVjdCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFBsYWNlaG9sZGVyIGFuZCBzZWxlY3RlZCBvcHRpb24gKi9cbi5jcy1zZWxlY3QgPiBzcGFuIHtcbiAgICAucGFkZGluZy1yaWdodCgzZW0pO1xufVxuXG4uY3Mtc2VsZWN0ID4gc3Bhbjo6YWZ0ZXIsXG4uY3Mtc2VsZWN0IC5jcy1zZWxlY3RlZCBzcGFuOjphZnRlciB7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uY3Mtc2VsZWN0ID4gc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDI1QkUnO1xuICAgIC5yaWdodCgxZW0pO1xufVxuXG4uY3Mtc2VsZWN0IC5jcy1zZWxlY3RlZCBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjcxMyc7XG4gICAgLm1hcmdpbi1sZWZ0KDFlbSk7XG59XG5cbi5jcy1zZWxlY3QuY3MtYWN0aXZlID4gc3Bhbjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbn1cblxuLyogT3B0aW9ucyAqL1xuLmNzLXNlbGVjdCAuY3Mtb3B0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jcy1zZWxlY3QuY3MtYWN0aXZlIC5jcy1vcHRpb25zIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uY3Mtc2VsZWN0IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY3Mtc2VsZWN0IHVsIHNwYW4ge1xuICAgIHBhZGRpbmc6IDFlbTtcbn1cblxuLmNzLXNlbGVjdCB1bCBsaS5jcy1mb2N1cyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG4vKiBPcHRncm91cCBhbmQgb3B0Z3JvdXAgbGFiZWwgKi9cbi5jcy1zZWxlY3QgbGkuY3Mtb3B0Z3JvdXAgdWwge1xuICAgIC5wYWRkaW5nLWxlZnQoMWVtKTtcbn1cblxuLmNzLXNlbGVjdCBsaS5jcy1vcHRncm91cCA+IHNwYW4ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG5cblxuZGl2LmNzLXNraW4tc2xpZGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIC8qZm9udC1zaXplOiAxLjVlbTsqL1xuICAgIHdpZHRoOiAzMDBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgIGRpdi5jcy1za2luLXNsaWRlIHsgZm9udC1zaXplOiAxZW07IHdpZHRoOiAyNTBweDsgfVxufVxuXG5kaXYuY3Mtc2tpbi1zbGlkZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAjMjgyYjMwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cblxuLmNzLXNraW4tc2xpZGUuY3MtYWN0aXZlOjpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwzLjUsMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwzLjUsMSk7XG59XG5cbi5jcy1za2luLXNsaWRlID4gc3BhbiB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdGV4dC1pbmRlbnQgMC4zcywgb3BhY2l0eSAwLjNzO1xuICAgIHRyYW5zaXRpb246IHRleHQtaW5kZW50IDAuM3MsIG9wYWNpdHkgMC4zcztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgIC5jcy1za2luLXNsaWRlID4gc3BhbiB7IGhlaWdodDogNjBweDsgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbn1cblxuLmNzLXNraW4tc2xpZGUuY3MtYWN0aXZlID4gc3BhbiB7XG4gICAgdGV4dC1pbmRlbnQ6IC0yOTBweDtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uY3Mtc2tpbi1zbGlkZS5jcy1hY3RpdmUgPiBzcGFuOjphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKTtcbn1cblxuLmNzLXNraW4tc2xpZGUgLmNzLW9wdGlvbnMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiA3MCU7XG4gICAgaGVpZ2h0OiA0MDAlO1xuICAgIHBhZGRpbmc6IDEuOWVtIDA7XG4gICAgdG9wOiA1MCU7XG4gICAgLmxlZnQoNTAlKTtcbiAgICAudHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgLmNzLXNraW4tc2xpZGUgLmNzLW9wdGlvbnMgeyBwYWRkaW5nLXRvcDogM2VtOyB9XG59XG5cbi5jcy1za2luLXNsaWRlIC5jcy1vcHRpb25zIGxpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMCUsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwJSwwLDApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7XG59XG5cbi5jcy1za2luLXNsaWRlLmNzLWFjdGl2ZSAuY3Mtb3B0aW9ucyBsaSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uY3Mtc2tpbi1zbGlkZS5jcy1hY3RpdmUgLmNzLW9wdGlvbnMgbGk6Zmlyc3QtY2hpbGQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG59XG5cbi5jcy1za2luLXNsaWRlLmNzLWFjdGl2ZSAuY3Mtb3B0aW9ucyBsaTpudGgtY2hpbGQoMikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuXG4uY3Mtc2tpbi1zbGlkZS5jcy1hY3RpdmUgLmNzLW9wdGlvbnMgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xufVxuXG4uY3Mtc2tpbi1zbGlkZS5jcy1hY3RpdmUgLmNzLW9wdGlvbnMgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cblxuLmNzLXNraW4tc2xpZGUuY3MtYWN0aXZlIC5jcy1vcHRpb25zIGxpOm50aC1jaGlsZCg1KSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbn0gLyogbW9yZSBvcHRpb25zIG5lZWQgbW9yZSBkZWxheSBkZWNsYXJhdGlvbiAqL1xuXG4uY3Mtc2tpbi1zbGlkZSAuY3Mtb3B0aW9ucyBsaSBzcGFuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgICAucGFkZGluZygwLjhlbSwgMWVtLCAwLjhlbSwgMi41ZW0pO1xufVxuXG4uY3Mtc2tpbi1zbGlkZSAuY3Mtb3B0aW9ucyBsaSBzcGFuOmhvdmVyLFxuLmNzLXNraW4tc2xpZGUgLmNzLW9wdGlvbnMgbGkuY3MtZm9jdXMgc3Bhbixcbi5jcy1za2luLXNsaWRlIC5jcy1vcHRpb25zIGxpLmNzLXNlbGVjdGVkIHNwYW4ge1xuICAgIGNvbG9yOiAjZWI3ZTdmO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY3Mtc2tpbi1zbGlkZSAuY3Mtc2VsZWN0ZWQgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuXG5cbi8qIFBhZ2VzIFNlbGVjdCAgb3ZlcnJpZGluZyAqL1xuXG4uZm9ybS1ncm91cC1kZWZhdWx0IC5jcy1za2luLXNsaWRlID4gc3BhbntcbiAgICAucGFkZGluZyggMCwgMzBweCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xufVxuLmZvcm0tZ3JvdXAtZGVmYXVsdCAuY3Mtd3JhcHBlcntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIxcHg7XG59XG4uY3Mtd3JhcHBlcntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG59XG4uZm9ybS1jb250cm9sLmNzLXNlbGVjdDpub3QoLmNzLWFjdGl2ZSl7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5jcy1zZWxlY3Q6bm90KC5jcy1hY3RpdmUpOm5vdCguZm9ybS1jb250cm9sKXtcbiAgICAvLyB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLmNzLXNlbGVjdHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBzcGFue1xuICAgICAgICB0ZXh0LW92ZXJmbG93OmluaXRpYWw7XG4gICAgfVxuICAgIC5jcy1wbGFjZWhvbGRlcntcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuZGl2LmNzLXNraW4tc2xpZGV7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgLy9mb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJi5jcy10cmFuc3BhcmVudHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgLmNzLWJhY2tkcm9we1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5jcy1hY3RpdmUgLmNzLWJhY2tkcm9we1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVzdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gc3BhbntcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAucGFkZGluZyg2cHgsIDMzcHgsIDZweCwgMTdweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmLmNzLWFjdGl2ZXtcbiAgICAgICAgei1pbmRleDogQHpJbmRleC1uYXZiYXIgLSAxMDtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgICAgICB9XG4gICAgICAgIC5jcy1iYWNrZHJvcHtcbiAgICAgICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDFweCAjY2NjLCAxcHggMCAxcHggI2NjYztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gc3BhbjphZnRlcixcbiAgICAmLmNzLWFjdGl2ZSA+IHNwYW46YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXGYwZDdcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICB9XG4gICAgLmNzLW9wdGlvbnN7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogOXB4IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxLDEsMSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgdWx7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmNzLWZvY3VzIHNwYW4sXG4gICAgICAgICAgICAgICAgJi5jcy1zZWxlY3RlZCBzcGFue1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW1hc3Rlci1kYXJrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgfVxufVxuLmNzLWJhY2tkcm9we1xuICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC50cmFuc2l0aW9uKGFsbCAuM3MgZWFzZSk7XG5cbn1cbi5jcy1za2luLXNsaWRlLmNzLWFjdGl2ZSAuY3Mtb3B0aW9ucyBsaTpudGgtY2hpbGQoNikge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG59XG4uY3Mtc2tpbi1zbGlkZS5jcy1hY3RpdmUgLmNzLW9wdGlvbnMgbGk6bnRoLWNoaWxkKDcpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbn1cbi5jcy1za2luLXNsaWRlLmNzLWFjdGl2ZSAuY3Mtb3B0aW9ucyBsaTpudGgtY2hpbGQoOCkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG59XG4uY3Mtc2tpbi1zbGlkZS5jcy1hY3RpdmUgLmNzLW9wdGlvbnMgbGk6bnRoLWNoaWxkKDkpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1cztcbn1cbi5jcy1za2luLXNsaWRlLmNzLWFjdGl2ZSAuY3Mtb3B0aW9ucyBsaTpudGgtY2hpbGQoMTApIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xufVxuLmNzLXNraW4tc2xpZGUuY3MtYWN0aXZlIC5jcy1vcHRpb25zIGxpOm50aC1jaGlsZCgxMSkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNTVzO1xufVxuXG4vLyBUd2l0dGVyIFR5cGVoZWFkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnR3aXR0ZXItdHlwZWFoZWFke1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLnR0LW1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogM3B4IDEwcHggM3B4IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICBib3JkZXItdG9wOjA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAuMTUpO1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAuMTUpO1xufVxuXG4udHQtc3VnZ2VzdGlvbiB7XG4gIGNvbG9yOiBAY29sb3ItbWFzdGVyO1xuICBwYWRkaW5nOiAzcHggN3B4IDRweDtcbiAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgIH1cbiAgICAmLnR0LWN1cnNvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICB9XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuLmZvcm0tZ3JvdXAtZGVmYXVsdHtcbiAgICAmLnR5cGVoZWFke1xuICAgICAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB9XG4gICAgLnR0LW1lbnUge1xuICAgICAgICB3aWR0aDogY2FsYyh+JzEwMCUgKyAyNHB4Jyk7XG4gICAgICAgIG1hcmdpbjogNHB4IC0xMnB4O1xuICAgIH1cbn1cblxuXG4vKiBEcm9wem9uZSBmb3IgQW5ndWxhciAqL1xuLmRyb3B6b25lW2Ryb3B6b25lPVwiZHJvcHpvbmVcIl0gaW5wdXRbdHlwZT1cImZpbGVcIl17XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogZW5kIG92ZXJyaWRlcyAqL1xuXG4vKiBEZW1vIHNwZWNpZmMgY2xhc3NlcyAqL1xuLmRlbW8tZm9ybS13eXNpd3lne1xuICAgIGhlaWdodDogMjUwcHg7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzE3LiBDaGFydHNdXG4qL1xuLmxpbmUtY2hhcnR7XG4gICAgLm52ZDMgbGluZS5udi1ndWlkZWxpbmV7XG4gICAgICAgIC8qIFZlcnRpY2FsIGJhciBvbiBob3ZlciBpbiBpbnRlcmFjdGl2ZSBjaGFydCAqL1xuICAgICAgICBzdHJva2Utd2lkdGg6MzBweDtcbiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6LjA0O1xuICAgICAgICBzdHJva2UgOiAjMDAwO1xuICAgIH1cbiAgICBcbiAgICAubnZkMyAubnYtZ3JvdXBzIHBhdGgubnYtYXJlYXtcbiAgICAgICAgLyogIGZpbGxlZCBhcmVhICovXG4gICAgICAgICBmaWxsLW9wYWNpdHkgOiAuMTtcbiAgICB9XG4gICAgLm52ZDMgLm52LWdyb3VwcyBwYXRoLm52LWxpbmV7XG4gICAgICAgIC8qICBMaW5lICovXG4gICAgICAgIHN0cm9rZS1vcGFjaXR5Oi4zO1xuICAgIH1cbiAgICAubnZkMyAubnYtYXhpcyBsaW5le1xuICAgICAgICAvKiAgZ3JpZCBsaW5lcyAqL1xuICAgICAgICBzdHJva2Utb3BhY2l0eTogLjU7XG4gICAgfVxuICAgIFxuICAgICZbZGF0YS14LWdyaWQ9XCJmYWxzZVwiXXtcbiAgICAgICAgLm52LXggLnRpY2sgbGluZSB7IFxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXG4gICAgICAgIH0gIFxuICAgIH0gXG4gICAgJltkYXRhLXktZ3JpZD1cImZhbHNlXCJde1xuICAgICAgICAubnYteSAudGljayBsaW5lIHsgXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgfSAgXG4gICAgfSBcbiAgICAuZG9tYWlue1xuICAgICAgICAvKiBkb21haW4gKi9cbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmW2RhdGEtcG9pbnRzPVwidHJ1ZVwiXXtcbiAgICAgICAgLm52ZDMubnYtbGluZSAubnZkMy5udi1zY2F0dGVyIC5udi1ncm91cHMgLm52LXBvaW50IHtcbiAgICAgICAgICAgIC8qIFRvZ2dsZSBwb2ludHMgKi9cbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHN0cm9rZS1vcGFjaXR5OiAuNTtcbiAgICAgICAgfVxuICAgIH0gXG5cbiAgICAubnZ0b29sdGlwIHRhYmxlIHRkLmxlZ2VuZC1jb2xvci1ndWlkZSBkaXZ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIH1cbiAgICB0aGVhZCAubnYtcG9pbnRlci1ldmVudHMtbm9uZSBzdHJvbmd7XG4gICAgICAgICBjb2xvcjogbGlnaHRlbihAY29sb3ItbWFzdGVyLDMwJSk7XG4gICAgfVxuICAgIC5udi1wb2ludGVyLWV2ZW50cy1ub25le1xuICAgICAgICBcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBcbiAgICAgICAgLnZhbHVlLm52LXBvaW50ZXItZXZlbnRzLW5vbmV7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOyAgXG4gICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKEBjb2xvci1tYXN0ZXIsMzAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubnZ0b29sdGlwIHRhYmxle1xuICAgICAgICAubWFyZ2luKDEycHgsIDEwcHgsIDE0cHgsIDE1cHgpO1xuICAgIH1cbiAgICAubnZ0b29sdGlwLnh5LXRvb2x0aXAubnYtcG9pbnRlci1ldmVudHMtbm9uZXtcbiAgICAgICAgYm9yZGVyLWNvbG9yIDogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuICAgIFxuICAgICAmW2RhdGEtc3Ryb2tlLXdpZHRoPVwiMVwiXXtcbiAgICAgICAgLm52ZDMgLm52LWdyb3VwcyBwYXRoLm52LWxpbmV7XG4gICAgICAgICAgICAvKiBMaW5lIHdpZHRocyAqL1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOjFweDtcbiAgICAgICAgfVxuICAgICAgICAubnZkMy5udi1saW5lIC5udmQzLm52LXNjYXR0ZXIgLm52LWdyb3VwcyAubnYtcG9pbnR7XG4gICAgICAgICAgICAvKiBMaW5lIHdpZHRocyAqL1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOjJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmW2RhdGEtc3Ryb2tlLXdpZHRoPVwiMlwiXXtcbiAgICAgICAgLm52ZDMgLm52LWdyb3VwcyBwYXRoLm52LWxpbmV7XG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6MnB4O1xuICAgICAgICB9XG4gICAgICAgIC5udmQzLm52LWxpbmUgLm52ZDMubnYtc2NhdHRlciAubnYtZ3JvdXBzIC5udi1wb2ludHtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDozcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJltkYXRhLXN0cm9rZS13aWR0aD1cIjNcIl17XG4gICAgICAgIC5udmQzIC5udi1ncm91cHMgcGF0aC5udi1saW5le1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOjNweDtcbiAgICAgICAgfVxuICAgICAgICAubnZkMy5udi1saW5lIC5udmQzLm52LXNjYXR0ZXIgLm52LWdyb3VwcyAubnYtcG9pbnR7XG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpY2sgdGV4dCwgIC5udmQzIC5udi1heGlzIC5udi1heGlzTWF4TWluIHRleHR7XG4gICAgICAgIGZpbGw6IGZhZGUoQGNvbG9yLW1hc3RlciwgNTAlKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgXG5cbiAgICAubnZkMy5udi1zY2F0dGVyIC5udi1ncm91cHMgLm52LXBvaW50LmhvdmVyLCBcbiAgICAubnZkMyAubnYtZ3JvdXBzIC5udi1wb2ludC5ob3ZlcntcbiAgICAgICAgZmlsbDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICBzdHJva2U6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLyogTGluZSB3aWR0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5udmQzIGxpbmUubnYtZ3VpZGVsaW5lLFxuLm52ZDMgLm52LWdyb3VwcyBwYXRoLm52LWxpbmUsXG4ubnZkMy5udi1saW5lIC5udmQzLm52LXNjYXR0ZXIgLm52LWdyb3VwcyAubnYtcG9pbnQge1xuICAgIC5saW5lLWNoYXJ0W2RhdGEtbGluZS1jb2xvcj1cIm1hc3RlclwiXSAme1xuICAgICAgICBzdHJva2U6IEBjb2xvci1tYXN0ZXI7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtbGluZS1jb2xvcj1cInN1Y2Nlc3NcIl0gJntcbiAgICAgICAgc3Ryb2tlOiBAY29sb3Itc3VjY2VzcztcbiAgICB9XG4gICAgLmxpbmUtY2hhcnRbZGF0YS1saW5lLWNvbG9yPVwicHJpbWFyeVwiXSAme1xuICAgICAgICBzdHJva2U6IEBjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgICAubGluZS1jaGFydFtkYXRhLWxpbmUtY29sb3I9XCJpbmZvXCJdICZ7XG4gICAgICAgIHN0cm9rZTogQGNvbG9yLWluZm87XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtbGluZS1jb2xvcj1cImNvbXBsZXRlXCJdICZ7XG4gICAgICAgIHN0cm9rZTogQGNvbG9yLWNvbXBsZXRlO1xuICAgIH1cbiAgICAubGluZS1jaGFydFtkYXRhLWxpbmUtY29sb3I9XCJ3YXJuaW5nXCJdICZ7XG4gICAgICAgIHN0cm9rZTogQGNvbG9yLXdhcm5pbmc7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtbGluZS1jb2xvcj1cImRhbmdlclwiXSAme1xuICAgICAgICBzdHJva2U6IEBjb2xvci1kYW5nZXI7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtbGluZS1jb2xvcj1cIndoaXRlXCJdICZ7XG4gICAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICB9XG4gICAgIC5saW5lLWNoYXJ0W2RhdGEtbGluZS1jb2xvcj1cImJsYWNrXCJdICZ7XG4gICAgICAgIHN0cm9rZTogIzAwMDtcbiAgICB9XG59XG5cblxuLyogQXJlYSBGaWxsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLm52ZDMgLm52LWdyb3VwcyBwYXRoLm52LWFyZWF7XG4gICAgLmxpbmUtY2hhcnRbZGF0YS1hcmVhLWNvbG9yPVwibWFzdGVyXCJdICZ7XG4gICAgICAgIGZpbGw6IEBjb2xvci1tYXN0ZXI7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtYXJlYS1jb2xvcj1cInN1Y2Nlc3NcIl0gJntcbiAgICAgICAgZmlsbDogQGNvbG9yLXN1Y2Nlc3M7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtYXJlYS1jb2xvcj1cImluZm9cIl0gJntcbiAgICAgICAgZmlsbDogQGNvbG9yLWluZm87XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtYXJlYS1jb2xvcj1cImNvbXBsZXRlXCJdICZ7XG4gICAgICAgIGZpbGw6IEBjb2xvci1jb21wbGV0ZTtcbiAgICB9XG4gICAgLmxpbmUtY2hhcnRbZGF0YS1hcmVhLWNvbG9yPVwicHJpbWFyeVwiXSAme1xuICAgICAgICBmaWxsOiBAY29sb3ItcHJpbWFyeTtcbiAgICB9XG4gICAgLmxpbmUtY2hhcnRbZGF0YS1hcmVhLWNvbG9yPVwid2FybmluZ1wiXSAme1xuICAgICAgICBmaWxsOiBAY29sb3Itd2FybmluZztcbiAgICB9XG4gICAgLmxpbmUtY2hhcnRbZGF0YS1hcmVhLWNvbG9yPVwiZGFuZ2VyXCJdICZ7XG4gICAgICAgIGZpbGw6IEBjb2xvci1kYW5nZXI7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtYXJlYS1jb2xvcj1cIndoaXRlXCJdICZ7XG4gICAgICAgIGZpbGw6ICNmZmY7XG4gICAgfVxuICAgIC5saW5lLWNoYXJ0W2RhdGEtYXJlYS1jb2xvcj1cImJsYWNrXCJdICZ7XG4gICAgICAgIGZpbGw6ICMwMDA7XG4gICAgfVxufSBcblxuLyogUG9pbnQgZmlsbCBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbiAubnZkMy5udi1saW5lIC5udmQzLm52LXNjYXR0ZXIgLm52LWdyb3VwcyAubnYtcG9pbnR7XG4gICAgLmxpbmUtY2hhcnRbZGF0YS1wb2ludC1jb2xvcj1cIm1hc3RlclwiXSAme1xuICAgICAgICBmaWxsIDogQGNvbG9yLW1hc3RlcjtcbiAgICB9XG4gICAgIC5saW5lLWNoYXJ0W2RhdGEtcG9pbnQtY29sb3I9XCJzdWNjZXNzXCJdICZ7XG4gICAgICAgIGZpbGwgOiBAY29sb3Itc3VjY2VzcztcbiAgICB9XG4gICAgIC5saW5lLWNoYXJ0W2RhdGEtcG9pbnQtY29sb3I9XCJpbmZvXCJdICZ7XG4gICAgICAgIGZpbGwgOiBAY29sb3ItaW5mbztcbiAgICB9XG4gICAgIC5saW5lLWNoYXJ0W2RhdGEtcG9pbnQtY29sb3I9XCJjb21wbGV0ZVwiXSAme1xuICAgICAgICBmaWxsIDogQGNvbG9yLWNvbXBsZXRlO1xuICAgIH1cbiAgICAgLmxpbmUtY2hhcnRbZGF0YS1wb2ludC1jb2xvcj1cInByaW1hcnlcIl0gJntcbiAgICAgICAgZmlsbCA6IEBjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgICAgLmxpbmUtY2hhcnRbZGF0YS1wb2ludC1jb2xvcj1cIndhcm5pbmdcIl0gJntcbiAgICAgICAgZmlsbCA6IEBjb2xvci13YXJuaW5nO1xuICAgIH1cbiAgICAgLmxpbmUtY2hhcnRbZGF0YS1wb2ludC1jb2xvcj1cImRhbmdlclwiXSAme1xuICAgICAgICBmaWxsIDogQGNvbG9yLWRhbmdlcjtcbiAgICB9XG4gICAgIC5saW5lLWNoYXJ0W2RhdGEtcG9pbnQtY29sb3I9XCJ3aGl0ZVwiXSAme1xuICAgICAgICBmaWxsIDogI2ZmZjtcbiAgICB9XG4gfVxuICAgIFxuI252ZDMtbGluZSwgXG4jbnZkMy1saW5lMiwgXG4jbnZkMy1hcmVhe1xuICAgIHN2Z3tcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICB9XG59XG4vKiBSaWNrc2hhdyBDaGFydHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5yaWNrc2hhdy1jaGFydHtcbiAgICAmLnJpY2tzaGF3X2dyYXBoIC5kZXRhaWx7XG4gICAgICAgICAgICAucGFkZGluZy1sZWZ0KDE1cHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KTtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDQpO1xuICAgICAgICAgICAgLnJpZ2h0KC0xNXB4KTtcblxuICAgICAgICAgICAgLml0ZW0sIC54X2xhYmVse1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAueV9ncmlkIC50aWNrLm1ham9yIGxpbmV7XG4gICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAzcHgsIDVweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICB9XG5cbn1cblxuLnJpY2tzaGF3LWNoYXJ0ICB7XG4gICYucmlja3NoYXdfZ3JhcGgge1xuXG4gICAgICAuZGV0YWlsIC54X2xhYmVsIHsgZGlzcGxheTogbm9uZSB9XG4gICAgICAgIC5kZXRhaWwgLml0ZW0geyBsaW5lLWhlaWdodDogMS40OyBwYWRkaW5nOiAwLjVlbSB9XG4gICAgICAgIC5kZXRhaWxfc3dhdGNoIHsgLmZsb2F0KHJpZ2h0KTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBtYXJnaW46IDAgNHB4IDAgMCB9XG4gICAgICAgIC5kZXRhaWwgLmRhdGUgeyBmb250LXNpemU6MTFweDsgY29sb3I6ICNhMGEwYTA7IG9wYWNpdHk6IC41OyB9XG5cbiAgfVxufVxuXG4jdGFiLXJpY2tzaGF3LXJlYWx0aW1le1xuICAgICNyaWNrc2hhdy1yZWFsdGltZXtcbiAgICAgICAgXG4gICAgfVxuICAgICNyaWNrc2hhdy1yZWFsdGltZV95X2F4aXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIC5sZWZ0KDApO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAucmlja3NoYXdfZ3JhcGggLnlfdGlja3MgcGF0aCwgLnJpY2tzaGF3X2dyYXBoIC54X3RpY2tzX2QzIHBhdGh7XG4gICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICBzdHJva2U6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnJpY2tzaGF3X2dyYXBoIC55X3RpY2tzIHRleHQsIC5yaWNrc2hhd19ncmFwaCAueF90aWNrc19kMyB0ZXh0e1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zNTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3RhYi1yaWNrc2hhdy1iYXJze1xuICAgICNyaWNrc2hhdy1zdGFja2VkLWJhcnN7XG4gICAgXG4gICAgICAgICYucmlja3NoYXdfZ3JhcGggLmRldGFpbCAuZG90e1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgfVxuICAgICAgICAmLnJpY2tzaGF3X2dyYXBoIC5kZXRhaWwgLnhfbGFiZWwgeyBkaXNwbGF5OiBub25lIH1cbiAgICAgICAgJi5yaWNrc2hhd19ncmFwaCAuZGV0YWlsIC5pdGVtIHsgbGluZS1oZWlnaHQ6IDEuNDsgcGFkZGluZzogMC41ZW0gfVxuICAgICAgICAuZGV0YWlsX3N3YXRjaCB7IC5mbG9hdChyaWdodCk7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgbWFyZ2luOiAwIDRweCAwIDAgfVxuICAgICAgICAmLnJpY2tzaGF3X2dyYXBoIC5kZXRhaWwgLmRhdGUgeyBmb250LXNpemU6MTFweDsgY29sb3I6ICNhMGEwYTA7IG9wYWNpdHk6IC41OyB9XG4gICAgfVxufVxuXG4jdGFiLXJpY2tzaGF3LXNsaWRlcntcblxuICAgICNyaWNrc2hhdy1zbGlkZXJ7XG4gICAgICAgIGhlaWdodDo1MDBweFxuICAgIH1cbiAgICAgLnJpY2tzaGF3X2dyYXBoIC54X2dyaWRfZDMgLnRpY2t7XG4gICAgc3Ryb2tlLW9wYWNpdHk6IDA7XG4gIH1cbiAgLnJpY2tzaGF3X2dyYXBoIC55X3RpY2tzIHBhdGgsIC5yaWNrc2hhd19ncmFwaCAueF90aWNrc19kMyBwYXRoe1xuICAgIHN0cm9rZTogbm9uZTtcbiAgfVxuICAucmlja3NoYXdfZ3JhcGggLnlfdGlja3MgdGV4dCwgLnJpY2tzaGF3X2dyYXBoIC54X3RpY2tzX2QzIHRleHR7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gIC5yaWNrc2hhd19yYW5nZV9zbGlkZXJfcHJldmlldyB7XG4gICAgLmZyYW1le1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAubGVmdF9oYW5kbGUsIC5yaWdodF9oYW5kbGV7XG4gICAgICAgIGZpbGw6ICMwMDA7XG4gICAgICAgIGZpbGwtb3BhY2l0eTogMC4xICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5zbGlkZXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGhlaWdodDo5M3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmNoYXJ0e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDQwcHg7XG4gICAgdG9wOiAxNTBweDtcbiAgICAubGVmdCgzM3B4KTtcbiAgICAucmlnaHQoMCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLnhfdGljay5wbGFpbiAudGl0bGV7XG4gICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsgXG4gICAgfVxuICB9XG4gIC55X2F4aXN7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIC5sZWZ0KC02cHgpO1xuICB9XG5cbiAgLnJpY2tzaGF3X2dyYXBoIC54X3RpY2t7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAudGl0bGV7XG4gICAgICBib3R0b206IC0yNHB4O1xuICAgICAgLmxlZnQoLTE1cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblsxOC4gTGlzdF1cbiovXG4ubGlzdC12aWV3LXdyYXBwZXJ7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmxpc3Qtdmlldy1jb250YWluZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5saXN0LXF1aWNrc2Nyb2xse1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgLnJpZ2h0KDEwcHgpO1xuICAgICAgICAgICAgei1pbmRleDogMTIwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGxpIGF7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmxpc3Qtdmlldy1ncm91cC1jb250YWluZXIge1xuXHRtYXJnaW46IDA7XG5cdG1pbi1oZWlnaHQ6IDFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMjZweCAwIDAgMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgdWx7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4ubGlzdC12aWV3LWdyb3VwLWhlYWRlciwgLmxpc3Qtdmlldy1mYWtlLWhlYWRlciB7XG5cdGJhY2tncm91bmQ6IEBjb2xvci1tYXN0ZXItbGlnaHRlc3Q7XG5cdGNvbG9yOiAjMjMyODMwO1xuXHRmb250OiBub3JtYWwgMTFweC8xNHB4ICdNb250c2VycmF0JyxBcmlhbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRtYXJnaW46IDA7XG5cdC5wYWRkaW5nKDZweCwgMCwgNXB4LCAxNXB4KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAcGFuZWwtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFuZWwtYm9yZGVyLWNvbG9yO1xuICAgIHotaW5kZXg6IDEwO1xufVxuLmxpc3Qtdmlldy1ncm91cC1oZWFkZXIge1xuXHRib3R0b206IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDFweDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAwO1xufVxuLmxpc3Qtdmlldy1mYWtlLWhlYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxMDA7XG4gICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLmxpc3Qtdmlldy1mYWtlLWhlYWRlci5saXN0LXZpZXctaGlkZGVuIHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmxpc3Qtdmlldy1ncm91cC1jb250YWluZXIubGlzdC12aWV3LWFuaW1hdGVkIC5saXN0LXZpZXctZ3JvdXAtaGVhZGVyIHtcblx0Ym90dG9tOiAwO1xuXHR0b3A6IGF1dG87XG59XG5cblxuaW5wdXQubGlzdC12aWV3LXNlYXJjaHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICMyMzI4MzA7XG59XG5cbi5uby10b3AtYm9yZGVye1xuICAgIC5saXN0LXZpZXctZmFrZS1oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbn1cblxuLmxpc3QtdmlldyB7XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgIH1cbiAgICBsaXtcbiAgICAgICAgLnBhZGRpbmctbGVmdCgxNXB4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlLWxpZ2h0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2FybmluZy1saWdodGVyO1xuICAgICAgICB9XG4gICAgICAgIHB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgfVxuICAgICAgICAmID4gYXtcbiAgICAgICAgICAgIC5tYXJnaW4tcmlnaHQoMTVweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYm9yZWRlZHtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgPiBhe1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4ubGlzdC12aWV3LmJvcmVkZWQgbGkgKyBsaSB7XG5cdGJvcmRlci10b3A6IDA7XG59XG5cbltkYXRhLWlvcz1cInRydWVcIl0gLmxpc3Qtdmlldy1ncm91cC1oZWFkZXIsXG5bZGF0YS1pb3M9XCJ0cnVlXCJdIC5saXN0LXZpZXctZmFrZS1oZWFkZXIge1xuXHR3aWR0aDogMjg4cHg7IC8qc2Nyb2xsYmFycyBhcmVuJ3QgdmlzaWJsZSBpbiBpT1MgZGV2aWNlcywgc28gbWFrZSB0aGUgaGVhZGVycyB3aWRlciAqL1xufVxuXG4vL0Jvb3RzdHJhcC1MaXN0XG4ubGlzdC1ncm91cC1pdGVte1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICAmLmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIsICYuYWN0aXZlOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOkBjb2xvci1zdWNjZXNzLWxpZ2h0O1xuICAgICAgICBib3JkZXItY29sb3I6QGNvbG9yLXN1Y2Nlc3MtbGlnaHQ7XG4gICAgfVxufVxuXG4ubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzIwLiBFbWFpbCBBcHBdXG4qL1xuXG5cbi8qIEVtYWlsIENvbXBvbmVudHMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5jb21wb3NlLXdyYXBwZXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHRlcjtcbiAgICB6LWluZGV4OiAxMDE7XG4gICAgLmNvbXBvc2UtZW1haWx7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG59XG5cbi5lbWFpbC1jb21wb3NlcntcbiAgICAubWFyZ2luLWxlZnQoMjUwcHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAuZW1haWwtdG9vbGJhci13cmFwcGVyIC53eXNpaHRtbDUtdG9vbGJhcntcbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW1hc3Rlci1saWdodGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC5lbWFpbC1ib2R5LXdyYXBwZXJ7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5ib290c3RyYXAtdGFnc2lucHV0e1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICYgPiAucm93e1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgfVxufVxuXG4uc3BsaXQtdmlldyAuc3BsaXQtZGV0YWlscyAuZW1haWwtY29udGVudC13cmFwcGVye1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC5hY3Rpb25zLXdyYXBwZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB6LWluZGV4OiBAekluZGV4LW5hdmJhciAtIDE7XG4gICAgfVxuICAgIC5lbWFpbC1jb250ZW50e1xuICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgLmVtYWlsLWNvbnRlbnQtaGVhZGVye1xuICAgICAgICAgICAgLnNlbmRlcntcbiAgICAgICAgICAgICAgICAubmFtZXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLWluZm87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kYXRldGltZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40NTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJqZWN0e1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLWluZm87XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE1LjJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mcm9tdG97XG4gICAgICAgICAgICAgICAgLmJ0bi14c3tcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVtYWlsLWNvbnRlbnQtYm9keSBwe1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICBjb2xvcjogQGJvZHktY29sb3I7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMDFlbTtcbiAgICAgICAgfVxuICAgICAgICAuZW1haWwtcmVwbHl7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5lZGl0b3Itd3JhcHBlcntcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcbiAgICAgICAgICAgIC53eXNpaHRtbDUtc2FuZGJveHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuLyogRW1haWwgQXBwIFRvcCBIZWFkZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5oZWFkZXItd3JhcHBlci1lbWFpbHtcbiAgICBmb250LXNpemU6IDE0LjkycHg7XG4gICAgLmRyb3Bkb3duID4gLmJ0bntcbiAgICAgICAgY29sb3I6QGNvbG9yLWNvbXBsZXRlO1xuICAgIH1cbiAgICAuYnRuOmhvdmVye1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vKiBSZXNwb25zaXZlIEhhbmRsZXIgOiBFbWFpbCBBcHAgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpe1xuICAgIC5lbWFpbC1jb21wb3NlcntcbiAgICAgICAgLm1hcmdpbi1sZWZ0KDApO1xuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bMjEuIENhbGVuZGFyIEFwcF1cbiovXG5cbkBjZWxsLWhlaWdodCA6IDgwO1xuYm9keS5vdmVyZmxvdy1oaWRkZW57XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qXG5DYWxlbmRhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlYWRlciAvIC5jYWxlbmRhci1oZWFkZXJcblllYXJzIC8gLnllYXJzIC55ZWFyXG5Nb250aHMgLyAubW9udGhzXG5XZWVrcyAvIC53ZWVrcy13cmFwcGVyIC53ZWVrXG5HcmlkIC8gLmNhbGVuZGFyLWNvbnRhaW5lclxuRXZlbnRzIC8gLmV2ZW50LWNvbnRhaW5lclxuKi9cbi5jYWxlbmRhcntcblx0aGVpZ2h0OiAxMDAlO1xuXHQuZHJhZ2Vye1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LnNjcm9sbC1lbGVtZW50e1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0Ji5tb250aHtcblx0XHRwYWRkaW5nLWxlZnQ6NXB4O1xuXHRcdC5vcHRpb25zIC5kYXRle1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjJweDtcblx0XHR9XG5cdFx0LndlZWstZHJhZ2dlcntcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC5jYWxlbmRhci1jb250YWluZXJ7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgQGNvbG9yLW1hc3Rlci1saWdodDtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0aGVpZ2h0OmNhbGMoficxMDAlIC0gMTY5cHgnKTtcblx0XHRcdC52aWV3IC50Ymxle1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0LnRoZWFkIC50Y2VsbCAud2Vla2RheXtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY2FsZW5kYXItaGVhZGVye1xuXHRcdFx0aGVpZ2h0OiA0M3B4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodGVzdDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA0M3B4O1xuXHRcdFx0LnBhZGRpbmctbGVmdCg2MHB4KTtcblx0XHQmID4gLmRyYWdlcntcblx0XHRcdHdpZHRoOmNhbGMoficxMDAlIC0gMTQxcHgnKTtcblx0XHRcdC5ib3JkZXItcmlnaHQoMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zMykpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDM1cHg7XG5cdFx0fVxuXHRcdC55ZWFyc3tcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHQueWVhcntcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogNjlweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRmb250LWZhbWlseTogXCJTZWdvZSBVSVwiLFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHRcdFx0JiA+IGF7XG5cdFx0XHRcdFx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5oYXMtZXZlbnR7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnXFwyNUNGJztcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogNnB4O1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAgcmdiYSgwLCAwLCAwLCAwLjQ0KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm9wdGlvbnN7XG5cdFx0LnBhZGRpbmctbGVmdCg2MHB4KTtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdC5tb250aHN7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRoZWlnaHQ6IDQzcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNDNweDtcblx0XHRcdC5tb250aHtcblx0XHRcdFx0bWluLXdpZHRoOiAzMHB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0JiA+IGF7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjgpO1xuXHRcdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMzKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAxKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5oYXMtZXZlbnR7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnXFwyNUNGJztcblx0XHRcdFx0XHRcdFx0dG9wOiAtNnB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA2cHg7XG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICByZ2JhKDAsIDAsIDAsIDAuMzMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuZGF0ZXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0fVxuXHR9XG5cdC53ZWVrLWRyYWdnZXJ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG5cdFx0Lm1hcmdpbi1sZWZ0KC0yMHB4KTtcblx0fVxuXHQud2Vla3Mtd3JhcHBlcntcblx0XHR3aWR0aDogYXV0bztcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdC5wYWRkaW5nLWxlZnQoMTBweCk7XG5cdFx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdC53ZWVre1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0LnBhZGRpbmctbGVmdCgzMHB4KTtcblx0XHRcdC5wYWRkaW5nLXJpZ2h0KDMwcHgpO1xuXHRcdFx0JjpmaXJzdC1jaGlsZHtcblx0XHRcdFx0LnBhZGRpbmctbGVmdCg0cHgpO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHQucGFkZGluZy1sZWZ0KDBweCk7XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0LnJpZ2h0KC0yMHB4KTtcblx0XHRcdFx0Ym90dG9tOiA2cHg7XG5cdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdC5ib3JkZXItbGVmdCgxcHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG5cdFx0XHR9XG5cdFx0XHQmLmFjdGl2ZXtcblx0XHRcdFx0LmRheS13cmFwcGVyIC53ZWVrLWRhdGV7XG5cdFx0XHRcdFx0LmRheXtcblx0XHRcdFx0XHRcdCYgPiBhe1xuXHRcdFx0XHRcdFx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuZGF5LXdyYXBwZXJ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0LndlZWstZGF0ZXtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0d2lkdGg6IDIxcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyMXB4O1xuXHRcdFx0XHRcdG1hcmdpbjogNnB4O1xuXHRcdFx0XHRcdC5ib3JkZXItcmFkaXVzKDk5cHgpO1xuXHRcdFx0XHRcdCYuY3VycmVudC1kYXRle1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2Vzcztcblx0XHRcdFx0XHRcdC5kYXkgPiBhe1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5kYXkgPiBhe1xuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC53ZWVrLWRheXtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmRheXtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxcHggMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcblx0XHRcdFx0XHQmID4gYXtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdCYuaGFzLWV2ZW50e1xuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ1xcMjVDRic7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAtMTBweDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDhweDtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogNnB4O1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIEBjb2xvci1zdWNjZXNzO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji53ZWVrLWhlYWRlcntcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1x0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jYWxlbmRhci1jb250YWluZXJ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogY2FsYyh+JzEwMCUgLSAyMDBweCcpO1xuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRcdC52aWV3e1xuXHRcdFx0Ji5tb250aC12aWV3e1xuXHRcdFx0XHQudGJsZSAudHJvdyAudGNlbGx7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGhlaWdodDogMjAlO1xuXHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdC5jZWxsLWlubmVye1xuXHRcdFx0XHRcdFx0LmhvbGRlcntcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMzdweDtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdFx0LmNlbGwtaW5uZXJ7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZWY4ZTc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYubm90e1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW1hc3Rlci1saWdodGVzdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5kcm9wLXRhcmdldHtcblx0XHRcdFx0XHRcdC5jZWxsLWlubmVye1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuY2VsbC1pbm5lcjpvbmx5LWNoaWxkLCAuY2VsbC1pbm5lcntcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQubW9udGgtZGF0ZXtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHRcdFx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogNnB4O1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR6LWluZGV4OjE7XG5cdFx0XHRcdFx0XHQuYm9yZGVyLXJhZGl1cyg5OXB4KTtcblx0XHRcdFx0XHRcdCYuY3VycmVudC1kYXRle1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1zdWNjZXNzO1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5ldmVudC1jb250YWluZXJ7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdC5ldmVudC1pbm5lcntcblx0XHRcdFx0XHRcdCBcdHBhZGRpbmc6IDhweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lmdob3N0LWVsZW1lbnR7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuICAgIFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmdyaWQgLnRibGV7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0LmV2ZW50LWNvbnRhaW5lciAuZXZlbnQtdGl0bGV7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmRheS12aWV3IC50Ymxle1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHQudGhlYWR7XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0XHQudGNlbGx7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0fVx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHQudHJvd3tcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0XHRcdFx0LnRjZWxsLmFjdGl2ZXtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC1tcy11c2VyLXNlbGVjdDpub25lOyB1c2VyLXNlbGVjdDpub25lO1xuXHRcdFx0Ly9ERUZBVUxUIFdFRUtWSUVXIFdJVEggMzAgbWluIFNsb3Rcblx0XHRcdC50Ymxle1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKH4nMTAwJSAtIDUwcHgnKTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQudGhlYWR7XG5cdFx0XHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0LnRjZWxse1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdFx0XHRcdGhlaWdodDogQGNlbGwtaGVpZ2h0LzIgKiAxcHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHQud2Vla2RheXtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTEpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LndlZWtkYXRle1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjEwcHg7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzcpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRcdC53ZWVrZGF0ZSwgLndlZWtkYXl7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOnJnYmEoMCwgMCwgMCwgMSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKH4nMTAwJSAtIDE4cHgnKTtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQuZXZlbnQtYnViYmxle1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0XHRcdFx0XHQubWFyZ2luLWxlZnQoNXB4KTtcblx0XHRcdFx0XHRcdFx0LmZsb2F0KHJpZ2h0KTtcblx0XHRcdFx0XHRcdFx0LmJvcmRlci1yYWRpdXMoMzBweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC50Y2VsbHtcblx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0XHRcdGhlaWdodDogQGNlbGwtaGVpZ2h0ICogMXB4O1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTQuMjg1NyU7XG5cdFx0XHRcdFx0d2lkdGg6IDE0LjI4NTclO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC50cm93e1xuXHRcdFx0XHRcdGRpc3BsYXk6dGFibGUtcm93O1xuXHRcdFx0XHRcdC50Y2VsbHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRcdFx0XHQuY2VsbC1pbm5lcntcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBAY2VsbC1oZWlnaHQvMiAqIDFweDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgQGNvbG9yLW1hc3Rlci1saWdodDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Jjpvbmx5LWNoaWxke1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLmFjdGl2ZXtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZlZjhlNztcblx0XHRcdFx0XHRcdFx0JiA+ICp7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5kaXNhYmxle1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItbWFzdGVyLWxpZ2h0ZXN0O1xuXHRcdFx0XHRcdFx0fVx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5sb2FkaW5ne1xuXHRcdFx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmxvYWRpbmd7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG5cdFx0XHR6LWluZGV4OiAxMDA7XG5cdFx0fVxuXHRcdC5wZ24td3JhcHBlcntcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdFx0LmV2ZW4taG9sZGVye1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHR3aWR0aDogY2FsYyh+JzEwMCUgLSA1MHB4Jyk7XG5cdFx0XHR3aWR0aDogficxMDAlIFxcMCc7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoficxMDAlIC0gMjVweCcpO1xuXHRcdFx0LmV2ZW50LXBsYWNlaG9sZGVye1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxNC4yODU3JTtcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmV2ZW50LWNvbnRhaW5lcntcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHQudHJhbnNpdGlvbih3aWR0aCAuMTZzIGVhc2UpO1xuXHRcdFx0LmV2ZW50LWlubmVye1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0d2lkdGg6IDhweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsMC44KTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRcdFx0XHQucmlnaHQoMTRweCk7XG5cdFx0XHRcdFx0dG9wOiAxMXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGltZS13cmFwe1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTJweDtcblx0XHRcdFx0LnRleHQtYWxpZ24obGVmdCk7XG5cdFx0XHRcdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzcpO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICAgIFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0fVxuXHRcdFx0LmV2ZW50LXN0YXJ0LXRpbWUsIC5ldmVudC1lbmQtdGltZXtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ0KTtcblx0XHRcdH1cblx0XHRcdC5ldmVudC10aXRsZXtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTVweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdH1cblx0XHRcdC5yZXNpemFibGUtaGFuZGxle1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHotaW5kZXg6IDM7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogOHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Y3Vyc29yOiBzLXJlc2l6ZTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiPVwiO1xuXHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5kcmFnZ2luZ3tcblx0XHRcdFx0ei1pbmRleDogMTAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZ3JpZHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcblx0XHRcdGhlaWdodDogY2FsYyh+JzEwMCUgLSA0MHB4Jyk7XG5cdFx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cdFx0XHQvL1RpbWUgU2xvdHNcblx0XHRcdCYuc2xvdC02MHtcblx0XHRcdFx0LnRibGUgLnRyb3cgLnRjZWxsIC5jZWxsLWlubmVye1xuXHRcdFx0XHRcdGhlaWdodDogQGNlbGwtaGVpZ2h0ICogMXB4O1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLnNsb3QtMTV7XG5cdFx0XHRcdC50YmxlIC50cm93IC50Y2VsbCB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAvNCAqIDFweDtcblx0XHRcdFx0XHQuY2VsbC1pbm5lcntcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwLzQgKiAxcHg7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkIEBjb2xvci1tYXN0ZXItbGlnaHQ7XG5cdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItbWFzdGVyLWxpZ2h0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQudGltZS1zbG90LXdyYXBwZXIgLnRpbWUtc2xvdHtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hbGxkYXktY2VsbHtcblx0XHRcdGhlaWdodDogQGNlbGwtaGVpZ2h0LzIgKiAxcHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR3aWR0aDogNTBweDtcblx0XHRcdC5mbG9hdChsZWZ0KTtcblx0XHR9XG5cdH1cblx0LnRpbWUtc2xvdC13cmFwcGVye1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogNTBweDtcblx0XHQuZmxvYXQobGVmdCk7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdC50aW1lLXNsb3R7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGhlaWdodDogQGNlbGwtaGVpZ2h0KjFweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0JiA+IHNwYW57XG5cdFx0XHRcdC5mbG9hdChyaWdodCk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0b3A6IC0xNSU7XG5cdFx0XHRcdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDYpO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHQucmlnaHQoNXB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuLmNhbGVuZGFyLWV2ZW50e1xuXHR3aWR0aDogMzMwcHg7XG5cdC5yaWdodCgtMzMwcHgpO1xuXHQuc2Nyb2xsYWJsZXtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cbn1cbi5kYXRlLXNlbGVjdG9ye1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qXG5SZXNwb25zaXZlIFV0aWxcbiovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbi5jYWxlbmRhcntcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0LmNhbGVuZGFyLWhlYWRlcntcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5vcHRpb25ze1xuXHRcdG1hcmdpbi10b3A6MDtcblx0XHQucGFkZGluZy1sZWZ0KDEwcHgpO1xuXHRcdC5tb250aHN7XG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHRcdHBhZGRpbmctdG9wOiAxNHB4O1xuXHRcdH1cblx0XHQuZGF0ZXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXHR9XG5cdC5jYWxlbmRhci1jb250YWluZXIge1xuXHRcdGhlaWdodDoxMDAlO1xuXHRcdC52aWV3LndlZWstdmlldyAudGJsZXtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHQudGhlYWR7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHRcdC50Y2VsbHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcblx0XHRcdFx0fVx0XHRcblx0XHRcdH1cblx0XHRcdC50cm93e1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudmlldy5tb250aC12aWV3IHtcblx0XHRcdC5hbGxkYXktY2VsbHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdC5ncmlkIC50Ymxle1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdFx0LnRibGUge1xuXHRcdFx0XHQudGhlYWQgLnRjZWxse1xuXHRcdFx0XHRcdHBhZGRpbmc6IDNweDtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudHJvdyAudGNlbGx7XG5cdFx0XHRcdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50YmxlIC50cm93IC50Y2VsbCAuZXZlbnQtY29udGFpbmVye1xuXHRcdFx0XHQuYm9yZGVyLXJhZGl1cyg5OXB4KTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuICAgIFx0XHRcdGxlZnQ6IDA7XG4gICAgXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdC5ldmVudC1pbm5lcntcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYubW9udGh7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoficxMDAlIC0gMTAxcHgnKTtcblx0XHR9XG5cdH1cblx0LndlZWtzLXdyYXBwZXJ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHQmLm1vbnRoe1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdC5jYWxlbmRhci1jb250YWluZXJ7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoficxMDAlIC0gMTA4cHgnKTtcblx0XHR9XG5cdH1cbn1cbi5jYWxlbmRhci1ldmVudHtcblx0d2lkdGg6IDI0MHB4O1xuXHQucmlnaHQoLTI0MHB4KTtcbn1cbi5tb250aHMtZHJhZ2Vye1xuXHQubWFyZ2luLWxlZnQoMjdweCk7XG5cdHdpZHRoOiBjYWxjKH4nMTAwJSAtIDgwcHgnKTtcblx0LmJvcmRlci1yaWdodCgxcHggc29saWQgQGNvbG9yLW1hc3Rlci1saWdodCk7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG5cdC5jYWxlbmRhci5tb250aCAuY2FsZW5kYXItY29udGFpbmVyIC52aWV3IC50YmxlIC50aGVhZCAudGNlbGwge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQmOmJlZm9yZXtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQud2Vla2RheXtcblx0XHRcdHdpZHRoOiAxMXB4O1xuXHRcdCAgICBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdCAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuXHRcdCAgICBmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cdH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzIyLiBMb2dpbl1cbiovXG5cblxuLmxvZ2luLXdyYXBwZXJ7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXByaW1hcnk7XG5cdCYgPiAqIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblx0LmJnLXBpY3tcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQmID4gaW1ne1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdH1cblx0fVxuXHQubG9naW4tY29udGFpbmVye1xuXHRcdHdpZHRoOiA0OTZweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LmZsb2F0KHJpZ2h0KTtcblx0fVxuXHQuYmctY2FwdGlvbntcblx0XHR3aWR0aDogNTAwcHg7XG5cdH1cbn1cbi5yZWdpc3Rlci1jb250YWluZXJ7XG5cdHdpZHRoOiA1NTBweDtcblx0bWFyZ2luOiBhdXRvO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLyogUmVzcG9uc2l2ZSBoYW5kbGVycyA6IExvZ2luXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQubG9naW4td3JhcHBlcntcblx0XHQubG9naW4tY29udGFpbmVye1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5yZWdpc3Rlci1jb250YWluZXJ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMTVweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAzMjFweCkge1xuXHQubG9naW4td3JhcHBlcntcblx0XHQubG9naW4tY29udGFpbmVye1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblsyMy4gTG9jayBTY3JlZW5dXG4qL1xuXG4ubG9jay1jb250YWluZXJ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA2MDBweDtcbn1cblxuLmxvY2stc2NyZWVuLXdyYXBwZXIge1xuICAgIC5jcmVkZW50aWFscyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC04NHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAudGh1bWJuYWlsLXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDUzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxvZ2dlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuMjE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgb3BhY2l0eTogLjY5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGVybXMtd3JhcHBlciB7XG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIH1cbiAgICAgICAgLnRlcm1zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvLXRlcm1zIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5icmFuZCB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUmVzcG9uc2l2ZSBIYW5kbGVycyA6IExvY2tzY3JlZW4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jay1jb250YWluZXJ7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICAgIC5sb2NrLXNjcmVlbi13cmFwcGVyIHtcbiAgICAgICAgLmNyZWRlbnRpYWxzIHtcbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXG4gICAgLmxvY2stc2NyZWVuLXdyYXBwZXIge1xuICAgICAgICAuY3JlZGVudGlhbHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAuZmxvYXQobGVmdCk7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aHVtYm5haWwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgIH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzI0LiBUaW1lbGluZV1cbiovXG5cbi8qXG4gIEFkYXB0ZWQgZnJvbSBWZXJ0aWNhbCBUaW1lbGluZSBieSBTZWJhc3RpYW5vIEd1ZXJyaWVyb1xuICBodHRwOi8vY29keWhvdXNlLmNvL2dlbS92ZXJ0aWNhbC10aW1lbGluZS9cbiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5Nb2R1bGVzIC0gcmV1c2FibGUgcGFydHMgb2Ygb3VyIGRlc2lnblxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udGltZWxpbmUtY29udGFpbmVyIHtcbiAgICAvKiB0aGlzIGNsYXNzIGlzIHVzZWQgdG8gZ2l2ZSBhIG1heC13aWR0aCB0byB0aGUgZWxlbWVudCBpdCBpcyBhcHBsaWVkIHRvLCBhbmQgY2VudGVyIGl0IGhvcml6b250YWxseSB3aGVuIGl0IHJlYWNoZXMgdGhhdCBtYXgtd2lkdGggKi9cbiAgICBcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogMTE3MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgLyogY2xlYXJmaXggKi9cbiAgICAgICAgXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgICYudG9wLWNpcmNsZXtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIC5ib3JkZXItcmFkaXVzKDk5cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbk1haW4gY29tcG9uZW50cyBcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRpbWVsaW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogM2VtIDAgM2VtIDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgLyogdGhpcyBpcyB0aGUgdmVydGljYWwgbGluZSAqL1xuICAgICAgICBcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAubGVmdCgxOHB4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gICAgLnRpbWVsaW5lLWNvbnRhaW5lcjpub3QoLmxlZnQpIHtcbiAgICAgICAgLnRpbWVsaW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLmxlZnQoNTAlKTtcbiAgICAgICAgICAgICAgICAubWFyZ2luLWxlZnQoLTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4udGltZWxpbmUtYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDJlbSAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gICAgLnRpbWVsaW5lLWNvbnRhaW5lcjpub3QoLmxlZnQpIHtcbiAgICAgICAgLnRpbWVsaW5lIHtcbiAgICAgICAgICAgIC50aW1lbGluZS1ibG9jayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0ZW0gMDtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4udGltZWxpbmUtcG9pbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEycHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQGNvbG9yLW1hc3Rlci1saWdodCwgMjAlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICYuc21hbGwge1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIC5tYXJnaW4tbGVmdCgxM3B4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgfVxuICAgIGkge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAubGVmdCg1MCUpO1xuICAgICAgICAubWFyZ2luLWxlZnQoLTdweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgfVxuICAgICYucHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1wcmltYXJ5O1xuICAgIH1cbiAgICAmLmNvbXBsZXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWNvbXBsZXRlO1xuICAgIH1cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itc3VjY2VzcztcbiAgICB9XG4gICAgJi5pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWluZm87XG4gICAgfVxuICAgICYuZGFuZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWRhbmdlcjtcbiAgICB9XG4gICAgJi53YXJuaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdhcm5pbmc7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTcwcHgpIHtcbiAgICAudGltZWxpbmUtY29udGFpbmVyOm5vdCgubGVmdCkge1xuICAgICAgICAudGltZWxpbmUge1xuICAgICAgICAgICAgLnRpbWVsaW5lLXBvaW50IHtcbiAgICAgICAgICAgICAgICAubGVmdCg1MCUpO1xuICAgICAgICAgICAgICAgIC5tYXJnaW4tbGVmdCgtMjFweCk7XG4gICAgICAgICAgICAgICAgLyogRm9yY2UgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIGluIFdlYktpdCAqL1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICYuaXMtaGlkZGVuIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgLm1hcmdpbi1sZWZ0KC03cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmJvdW5jZS1pbiB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjZC1ib3VuY2UtMSAwLjZzO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbjogY2QtYm91bmNlLTEgMC42cztcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBjZC1ib3VuY2UtMSAwLjZzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBjZC1ib3VuY2UtMSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGNkLWJvdW5jZS0xIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGNkLWJvdW5jZS0xIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAubWFyZ2luLWxlZnQoNjBweCk7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgLmNhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuZXZlbnQtZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLmZsb2F0KGxlZnQpO1xuICAgICAgICBwYWRkaW5nOiAuOGVtIDA7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAudGltZWxpbmUtY29udGFpbmVye1xuICAgICAgICB3aWR0aDogOTQlO1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHt9IEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gICAgLnRpbWVsaW5lLWNvbnRhaW5lcjpub3QoLmxlZnQpIHtcbiAgICAgICAgLnRpbWVsaW5lIHtcbiAgICAgICAgICAgIC50aW1lbGluZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAubWFyZ2luLWxlZnQoMCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIC5sZWZ0KDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtaGlkZGVuIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmJvdW5jZS1pbiB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjZC1ib3VuY2UtMiAwLjZzO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbjogY2QtYm91bmNlLTIgMC42cztcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBjZC1ib3VuY2UtMiAwLjZzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZXZlbnQtZGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC5sZWZ0KDExOCUpO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaDYgKyBzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRpbWVsaW5lLWJsb2NrIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIC50aW1lbGluZS1jb250ZW50IC5jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgLmZsb2F0KHJpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgICAgICAudGltZWxpbmUtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZmxvYXQocmlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxlZnQoYXV0byk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJpZ2h0KDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5ldmVudC1kYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubGVmdChhdXRvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmlnaHQoMTE4JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRleHQtYWxpZ24ocmlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTcwcHgpIHtcbiAgICAvKiBpbnZlcnNlIGJvdW5jZSBlZmZlY3Qgb24gZXZlbiBjb250ZW50IGJsb2NrcyAqL1xuICAgIFxuICAgIC50aW1lbGluZS1jb250YWluZXI6bm90KC5sZWZ0KSB7XG4gICAgICAgIC50aW1lbGluZSB7XG4gICAgICAgICAgICAudGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC50aW1lbGluZS1jb250ZW50LmJvdW5jZS1pbiB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNkLWJvdW5jZS0yLWludmVyc2UgMC42cztcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbjogY2QtYm91bmNlLTItaW52ZXJzZSAwLjZzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogY2QtYm91bmNlLTItaW52ZXJzZSAwLjZzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGNkLWJvdW5jZS0yIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGNkLWJvdW5jZS0yIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBjZC1ib3VuY2UtMiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGNkLWJvdW5jZS0yLWludmVyc2Uge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5ALW1vei1rZXlmcmFtZXMgY2QtYm91bmNlLTItaW52ZXJzZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgY2QtYm91bmNlLTItaW52ZXJzZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuLnRpbWVsaW5lLWNvbnRhaW5lciB7XG4gICAgJi5jZW50ZXIge1xuICAgICAgICAudGltZWxpbmUge1xuICAgICAgICAgICAgLy8gU3BsaXQgdmlld1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAubGVmdCg1MCUpO1xuICAgICAgICAgICAgICAgIC5tYXJnaW4tbGVmdCgtMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aW1lbGluZS1wb2ludCB7XG4gICAgICAgICAgICAgICAgLmxlZnQoNTAlKTtcbiAgICAgICAgICAgICAgICAubWFyZ2luLWxlZnQoLTIxcHgpO1xuICAgICAgICAgICAgICAgIC8qIEZvcmNlIEhhcmR3YXJlIEFjY2VsZXJhdGlvbiBpbiBXZWJLaXQgKi9cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIC5tYXJnaW4tbGVmdCggLTdweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYm91bmNlLWluIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNkLWJvdW5jZS0xIDAuNnM7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uOiBjZC1ib3VuY2UtMSAwLjZzO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGNkLWJvdW5jZS0xIDAuNnM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIC5tYXJnaW4tbGVmdCgwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDYlO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgLmxlZnQoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYm91bmNlLWluIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNkLWJvdW5jZS0yIDAuNnM7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uOiBjZC1ib3VuY2UtMiAwLjZzO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGNkLWJvdW5jZS0yIDAuNnM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ldmVudC1kYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLmxlZnQoMTE4JSk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoNiArIHNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGltZWxpbmUtYmxvY2sge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkgLnRpbWVsaW5lLWNvbnRlbnQgLmNhcmQge1xuICAgICAgICAgICAgICAgICAgICAuZmxvYXQocmlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIC50aW1lbGluZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mbG9hdChyaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubGVmdChhdXRvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmlnaHQoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmV2ZW50LWRhdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sZWZ0KGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yaWdodCgxMTglKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dC1hbGlnbihyaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gICAgLnRpbWVsaW5lLWNvbnRhaW5lci5sZWZ0e1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAubWFyZ2luLWxlZnQoMTAwcHgpO1xuICAgIH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWzI3LiBXaWRnZXRzXVxuKi9cbi53aWRnZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYgPiBkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IC42OTtcbiAgfVxufVxuLndpZGdldC0xIHtcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHthc3NldHMtdXJsfS9pbWcvZGFzaGJvYXJkL3BhZ2VzX2hlcm8uanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IC42OTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2Jhc2UtaW1nLXVybH0vbGluZWFyX2dyYWRpZW50LnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMzI1cHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gICYgPiAucGFuZWwtYm9keSB7XG4gICAgLy8gcGFkZGluZzogNTRweCAzN3B4IDM3cHggMzdweDtcbiAgICAuY29tcGFueTpudGgtY2hpbGQoMikgPiBkaXYge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMjdweDtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1ib2R5ID4gKiB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAmID4gLnBhbmVsLWJvZHkgPiAqOm5vdCgucHVsbC1ib3R0b20pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgJiA+IC5wYW5lbC1ib2R5IC5wdWxsLWJvdHRvbSB7XG4gICAgcGFkZGluZzogMCA0OXB4IDU2cHggNDJweDtcbiAgfVxuICBzcGFuLmxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4zKTtcbiAgfVxufVxuLndpZGdldC0yIHtcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHthc3NldHMtdXJsfS9pbWcvc29jaWFsL3BlcnNvbi1jcm9wcGVkLmpwZ1wiKTtcbiAgfVxufVxuLndpZGdldC0zIHtcbiAgYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLnBnLW1hcCB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG4gIC53aWRnZXQtMy1mYXYge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiA2cHggMTFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ud2lkZ2V0LTR7XG4gIC5yb3ctc20taGVpZ2h0Om50aC1jaGlsZCgxKXtcbiAgICBoZWlnaHQ6MzBweDtcbiAgfVxuICAucm93LXNtLWhlaWdodDpudGgtY2hpbGQoMil7XG4gICAgaGVpZ2h0OjMwcHg7XG4gIH1cbn1cbi53aWRnZXQtNC1jaGFydCB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAucmlnaHQoMCk7XG4gICYubGluZS1jaGFydCAudGljayB0ZXh0LFxuICAubGluZS1jaGFydCAubnZkMyAubnYtYXhpcyAubnYtYXhpc01heE1pbiB0ZXh0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCwgLTMycHgpO1xuICB9XG4gIC5udnRvb2x0aXAgLm52LXBvaW50ZXItZXZlbnRzLW5vbmUge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgIC5udi1wb2ludGVyLWV2ZW50cy1ub25lIC5rZXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLndpZGdldC01LWNoYXJ0LWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW5cbn1cbi53aWRnZXQtNS1jaGFydCB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiA0MHB4O1xufVxuLndpZGdldC02IHtcbiAgYmFja2dyb3VuZDogbWl4KEBjb2xvci1tYXN0ZXIsXG4gICNmZmYsXG4gIDY5JSk7XG4gIC5sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjY3KTtcbiAgfVxufVxuLndpZGdldC03IHtcbiAgLnNsaWRlLWJhY2t7XG4gICAgLnJvdy1zbS1oZWlnaHQ6bnRoLWNoaWxkKDEpe1xuICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgfVxuICAgIC5yb3ctc20taGVpZ2h0Om50aC1jaGlsZCgyKXtcbiAgICAgIGhlaWdodDogNDAlO1xuICAgIH1cbiAgfVxufVxuLndpZGdldC03LWNoYXJ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICYubGluZS1jaGFydFtkYXRhLXBvaW50cz1cInRydWVcIl0gLm52ZDMubnYtbGluZSAubnZkMy5udi1zY2F0dGVyIC5udi1ncm91cHMgLm52LXBvaW50IHtcbiAgICBzdHJva2Utb3BhY2l0eTogMTtcbiAgfVxuICAubnZkMyBjaXJjbGUubnYtcG9pbnQ6bnRoLWNoaWxkKDQpIHtcbiAgICBmaWxsOiBAY29sb3ItZGFuZ2VyICFpbXBvcnRhbnQ7XG4gICAgc3Ryb2tlOiBAY29sb3ItZGFuZ2VyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi53aWRnZXQtOHtcbiAgaGVpZ2h0OjE0NXB4O1xuICAucm93LXhzLWhlaWdodDpmaXJzdC1jaGlsZHtcbiAgICBoZWlnaHQ6NDFweFxuICB9XG59XG4ud2lkZ2V0LTgtY2hhcnQge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogNTAlO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIC5saW5lLWNoYXJ0W2RhdGEtcG9pbnRzPVwidHJ1ZVwiXSAubnZkMy5udi1saW5lIC5udmQzLm52LXNjYXR0ZXIgLm52LWdyb3VwcyAubnYtcG9pbnQge1xuICAgIHN0cm9rZS1vcGFjaXR5OiAwLjM7XG4gIH1cbiAgLmxpbmUtY2hhcnQgLm52ZDMgLm52LWdyb3VwcyBwYXRoLm52LWxpbmUge1xuICAgIHN0cm9rZS1vcGFjaXR5OiAwLjE1O1xuICB9XG4gIC5udnRvb2x0aXB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ud2lkZ2V0LTl7XG4gIGhlaWdodDoxNDVweDtcbiAgLnJvdy14cy1oZWlnaHQ6Zmlyc3QtY2hpbGR7XG4gICAgaGVpZ2h0OjI2cHg7XG4gIH1cbiAgLnByb2dyZXNze1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7XG4gIH1cbn1cbi53aWRnZXQtMTB7XG4gICAgaGVpZ2h0OjE0NXB4O1xufVxuLndpZGdldC0xMSB7XG4gIHN1cCB7XG4gICAgLm1hcmdpbi1yaWdodCgtNHB4KTtcbiAgfVxuICAud2lkZ2V0LTExLXRhYmxle1xuICAgIGhlaWdodDozODBweDsgXG4gICAgdHIgdGQ6Zmlyc3QtY2hpbGR7XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cbiAgfVxufVxuLndpZGdldC0xMS0yIHtcbiAgc3VwIHtcbiAgICAubWFyZ2luLXJpZ2h0KC00cHgpO1xuICB9XG4gIC53aWRnZXQtMTEtMi10YWJsZXtcbiAgICBoZWlnaHQ6MjczcHg7XG4gIH1cbn1cblxuLndpZGdldC0xMiB7XG4gIC5saXN0LWlubGluZSB7XG4gICAgYXtwYWRkaW5nOiAzcHggNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuICAgIC5hY3RpdmUgYSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICAubnZkMy1saW5lIHN2Z3tcbiAgICBoZWlnaHQ6MzE2cHg7XG4gIH1cbiAgLmNvbXBhbnktc3RhdC1ib3hlcyAgLmNsb3Nle1xuICAgIGxpbmUtaGVpZ2h0OjA7XG4gIH1cbiAgLndpZGdldC0xMi1zZWFyY2h7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxufVxuLndpZGdldC0xNCB7XG4gICAgLnJvdy14cy1oZWlnaHQ6bnRoLWNoaWxkKDEpe1xuICAgICAgICBoZWlnaHQ6IDMwcHhcbiAgICB9XG4gICAgLnJvdy14cy1oZWlnaHQ6bnRoLWNoaWxkKDIpe1xuICAgICAgICBoZWlnaHQ6IDEyMHB4XG4gICAgfVxuICAgIC5yb3cteHMtaGVpZ2h0Om50aC1jaGlsZCgzKXtcbiAgICAgICAgaGVpZ2h0OiAyOTdweFxuICAgIH1cbn1cbi53aWRnZXQtMTQtY2hhcnRfeV9heGlzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAgMjU1LCAgMjU1LCAuOCk7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDM1cHg7XG4gIC5sZWZ0KDApO1xuICB6LWluZGV4OiAyO1xuICAucmlja3NoYXdfZ3JhcGggLnlfdGlja3MgcGF0aCxcbiAgLnJpY2tzaGF3X2dyYXBoIC54X3RpY2tzX2QzIHBhdGgge1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiBub25lO1xuICB9XG4gIC5yaWNrc2hhd19ncmFwaCAueV90aWNrcyB0ZXh0LFxuICAucmlja3NoYXdfZ3JhcGggLnhfdGlja3NfZDMgdGV4dCB7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuICAueV90aWNrcy5wbGFpbiBnOmZpcnN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi53aWRnZXQtMTQtY2hhcnQtbGVnZW5kIC51aS1zb3J0YWJsZSBsaSB7XG4gIC5wYWRkaW5nLXJpZ2h0KDApO1xuICAuYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICB9XG59XG5cbi53aWRnZXQtMTV7XG4gICAgI3dpZGdldC0xNS10YWItMSA+IGRpdntcbiAgICAgICAgaGVpZ2h0OjE3MHB4O1xuICAgIH1cbn1cbi53aWRnZXQtMTUtMntcbiAgICBoZWlnaHQ6NDY5cHg7XG4gICAgI3dpZGdldC0xNS0yLXRhYi0xIC5mdWxsLXdpZHRoe1xuICAgICAgICBoZWlnaHQ6MTgwcHg7XG4gICAgfVxufVxuLndpZGdldC0xNi1oZWFkZXIgLnB1bGwtbGVmdDpsYXN0LWNoaWxke1xuICAgIHdpZHRoOjY5JTtcbn1cbi53aWRnZXQtMTYtY2hhcnQge1xuICAgIGhlaWdodDoxMDBweDtcbiAgJi5saW5lLWNoYXJ0W2RhdGEtc3Ryb2tlLXdpZHRoPVwiMlwiXSAubnZkMy5udi1saW5lIC5udmQzLm52LXNjYXR0ZXIgLm52LWdyb3VwcyAubnYtcG9pbnQge1xuICAgIHN0cm9rZS13aWR0aDogMnB4O1xuICB9XG59XG5cbi53aWRnZXQtMTd7XG4gICAgaGVpZ2h0OjQ2N3B4O1xuICAgIC53aWRnZXQtMTctd2VhdGhlcntcbiAgICAgICAgd2lkdGg6OTAlXG4gICAgfVxufVxuLndpZGdldC0xOC1wb3N0IHtcbiAgICBoZWlnaHQ6MzQycHg7XG4gIGJhY2tncm91bmQ6IHVybCgnQHthc3NldHMtdXJsfS9pbWcvc29jaWFsL3F1b3RlLmpwZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyXG59XG4ud2lkZ2V0LTE5LXBvc3Qge1xuICAgIGhlaWdodDoyMzdweDtcbiAgYmFja2dyb3VuZDogIzAwQTc5QTtcbiAgaW1nIHtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNzBweFxuICB9XG59XG4uYnRuLWNpcmNsZS1hcnJvdyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLm1hcmdpbi1yaWdodCg0cHgpO1xuICBpIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC5sZWZ0KDUwJSk7XG4gICAgdG9wOiA1MCU7XG4gICAgLm1hcmdpbi1sZWZ0KC01cHgpO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gIH1cbn1cblxuLyoqKiBMYXJnZSBzY3JlZW5zICoqKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxODI0cHgpIHtcbiAgLy8gRGFzaGJvYXJkXG4gIC5hci0zLTI6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh+JzU1JSAtIDVweCcpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFyLTItMzpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKH4nMTM1JSAtIDVweCcpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOjk5MXB4KSB7XG4gIC5wYW5lbCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLndpZGdldC04LFxuICAud2lkZ2V0LTksXG4gIC53aWRnZXQtMTAge1xuICAgIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpIHtcbiAgLndpZGdldC0xLXdyYXBwZXIge1xuICAgIGhlaWdodDogMzQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLndpZGdldHMtY29udGFpbmVye1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYxMHB4KSB7XG4gICAgLndpZGdldC1pdGVtLCAud2lkZ2V0cy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bMjguIE1pc2MgOiBIZWxwZXIgQ2xhc3Nlc11cbiovXG4uY3VzdG9te1xuICAgIGhlaWdodDoxNTBweDtcbn1cblxuLnRvb2x0aXAge1xuICB6LWluZGV4OiAxMTcwO1xufVxuXG4uaWNvbi1saXN0e1xuICAuZmEtaXRlbXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogQGNvbG9yLW1hc3Rlci1kYXJrZXN0O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICAucGFkZGluZy1sZWZ0KDEwcHgpO1xuICAgICYgPiBpe1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAudGV4dC1hbGlnbihyaWdodCk7XG4gICAgICAubWFyZ2luLXJpZ2h0KDEwcHgpO1xuICAgIH1cbiAgfVxufVxuXG4ucHVzaC1vbi1zaWRlYmFyLW9wZW57XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cyBlYXNlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBUaHVtYm5haWwgZm9yIGljb25zIGFuZCBwcm9maWxlIHBpY3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi50aHVtYm5haWwtd3JhcHBlcntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuZmxvYXQobGVmdCk7XG4gICAgJi5jaXJjdWxhcntcbiAgICAgICAuYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgIH1cbiAgICAmLmJvcmRlcmVke1xuICAgICAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOnNvbGlkO1xuICAgICAgICAmLmQxNntcbiAgICAgICAgICAgIC5zcXVhcmUoMTYrNCoxcHgpO1xuICAgICAgICAgICAgICAmID4gKntcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTJweFxuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmQyNHtcbiAgICAgICAgICAgIC5zcXVhcmUoMjQrNCoxcHgpO1xuICAgICAgICAgICAgICYgPiAqe1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZDMye1xuICAgICAgICAgICAgLnNxdWFyZSgzMis0KjFweCk7XG4gICAgICAgICAgICAgJiA+ICp7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHhcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5kNDh7XG4gICAgICAgICAgICAuc3F1YXJlKDQ4KzQqMXB4KTtcbiAgICAgICAgICAgICAmID4gKntcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDRweFxuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmQxNntcbiAgICAgICAgLnNxdWFyZSgxNnB4KTtcbiAgICAgICAgICYgPiAqe1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHhcbiAgICAgICAgIH1cbiAgICB9XG4gICAgJi5kMjR7XG4gICAgICAgIC5zcXVhcmUoMjRweCk7XG4gICAgICAgICAmID4gKntcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4XG4gICAgICAgICB9XG4gICAgfVxuICAgICYuZDMye1xuICAgICAgICAuc3F1YXJlKDMycHgpO1xuICAgICAgICAgJiA+ICp7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweFxuICAgICAgICAgfVxuICAgIH1cbiAgICAmLmQzOXtcbiAgICAgICAgLnNxdWFyZSgzOXB4KTtcbiAgICAgICAgICYgPiAqe1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM5cHhcbiAgICAgICAgIH1cbiAgICB9XG4gICAgJi5kNDh7XG4gICAgICAgIC5zcXVhcmUoNDhweCk7XG4gICAgICAgICAmID4gKntcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgICAgICB9XG4gICAgfVxuICAgICYgPiAqe1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4vKiBQcm9maWxlIGRyb3Bkb3duXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ucHJvZmlsZS1kcm9wZG93bntcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICByaWdodDogMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmZmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICBsaXtcbiAgICAmOmxhc3QtY2hpbGR7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgICYgPiBhe1xuICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAucGFkZGluZy1yaWdodCgxOXB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiA+IGF7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIC50cmFuc2l0aW9uKG9wYWNpdHkgZWFzZSAuM3MpO1xuICAgICAgLnBhZGRpbmctbGVmdCgxN3B4KTtcbiAgICAgIC5wYWRkaW5nLXJpZ2h0KDM3cHgpO1xuICAgICAgbWluLXdpZHRoOiAxMzhweDtcbiAgICAgICYgPiBpIHtcbiAgICAgICAgLm1hcmdpbi1yaWdodCg1cHgpO1xuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wcm9maWxlLWRyb3Bkb3duLXRvZ2dsZXtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIFNjcm9sbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnNjcm9sbGFibGUge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8qIE92ZXJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbn1cblxuLm5vLW92ZXJmbG93e1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5hdXRvLW92ZXJmbG93e1xuICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ucmVzZXQtb3ZlcmZsb3d7XG4gIG92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG59XG5cbi5jZW50ZXItbWFyZ2lue1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uaW5oZXJpdC1zaXple1xuXHR3aWR0aDppbmhlcml0O1xuXHRoZWlnaHQ6aW5oZXJpdFxufVxuLmluaGVyaXQtaGVpZ2h0e1xuXHRoZWlnaHQ6aW5oZXJpdDtcbn1cblxuLmltYWdlLXJlc3BvbnNpdmUtaGVpZ2h0e1xuXHR3aWR0aDogMTAwJTtcbn1cbi5pbWFnZS1yZXNwb25zaXZlLXdpZHRoe1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ub3ZlcmxheWVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMjE7XG4gICYuZnVsbHdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4ub3ZlcmxheWVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAxMDtcbn1cbi5vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbn1cbi50b3AtbGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG4udG9wLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDFweDtcbiAgICByaWdodDogMDtcbn1cbi5ib3R0b20tbGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgbGVmdDogMDtcbn1cbi5ib3R0b20tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cbi5wdWxsLWJvdHRvbXtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMDtcbn1cblxuLnB1bGwtdXB7XG4gIHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbn1cbi5wdWxsLWxlZnR7XG4gIC5mbG9hdChsZWZ0KSAhaW1wb3J0YW50O1xufVxuLnB1bGwtcmlnaHR7XG4gIC5mbG9hdChyaWdodCkgIWltcG9ydGFudDtcbn1cbi5wdWxsLWNlbnRlcntcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB6LWluZGV4OiAxO1xufVxuLmRpc3BsYXktZmxleHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5jdXJzb3J7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jdXJzb3ItZGVmYXVsdHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnNjcm9sbC14LWhpZGRlbntcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qIEdlbmVyaWMgUGFkZGluZyBIZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi5nZW5lcmF0ZS1wYWRkaW5ncy1vcHRpb25zKDIwKTtcblxuLmdlbmVyYXRlLXBhZGRpbmdzLW9wdGlvbnMoQG4sIEBpOiAwKSB3aGVuIChAaSA9PCBAbikge1xuICBAc3RlcCA6IEBpKjU7XG4gIC5wLXQtQHtzdGVwfSB7XG4gICAgcGFkZGluZy10b3A6IChAc3RlcCoxcHgpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtci1Ae3N0ZXB9IHtcbiAgICAucGFkZGluZy1yaWdodCgoQHN0ZXAqMXB4KSkhaW1wb3J0YW50O1xuICB9XG4gICAucC1sLUB7c3RlcH0ge1xuICAgIC5wYWRkaW5nLWxlZnQoKEBzdGVwKjFweCkpICFpbXBvcnRhbnQ7XG4gIH1cbiAgIC5wLWItQHtzdGVwfSB7XG4gICAgcGFkZGluZy1ib3R0b206IChAc3RlcCoxcHgpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBhZGRpbmctQHtzdGVwfSB7XG4gICAgcGFkZGluZzogKEBzdGVwKjFweCkgIWltcG9ydGFudDtcbiAgfVxuICAuZ2VuZXJhdGUtcGFkZGluZ3Mtb3B0aW9ucyhAbiwgKEBpICsgMSkpO1xufVxuLyogR2VuZXJpYyBNYXJnaW4gSGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbi5nZW5lcmF0ZS1tYXJnaW4tb3B0aW9ucygyMCk7XG5cbi5nZW5lcmF0ZS1tYXJnaW4tb3B0aW9ucyhAbiwgQGk6IDApIHdoZW4gKEBpID08IEBuKSB7XG4gIEBzdGVwIDogQGkqNTtcbiAgLm0tdC1Ae3N0ZXB9IHtcbiAgICBtYXJnaW4tdG9wOiAoQHN0ZXAqMXB4KTtcbiAgfVxuICAubS1yLUB7c3RlcH0ge1xuICAgIC5tYXJnaW4tcmlnaHQoKEBzdGVwKjFweCkpO1xuICB9XG4gICAubS1sLUB7c3RlcH0ge1xuICAgIC5tYXJnaW4tbGVmdCgoQHN0ZXAqMXB4KSk7XG4gIH1cbiAgIC5tLWItQHtzdGVwfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogKEBzdGVwKjFweCk7XG4gIH1cblxuICAuLW0tdC1Ae3N0ZXB9IHtcbiAgICBtYXJnaW4tdG9wOiAtKEBzdGVwKjFweCk7XG4gIH1cbiAgLi1tLXItQHtzdGVwfSB7XG4gICAgLm1hcmdpbi1yaWdodCgtKEBzdGVwKjFweCkpO1xuICB9XG4gIC4tbS1sLUB7c3RlcH0ge1xuICAgIC5tYXJnaW4tbGVmdCgtKEBzdGVwKjFweCkpO1xuICB9XG4gIC4tbS1iLUB7c3RlcH0ge1xuICAgIG1hcmdpbi1ib3R0b206IC0oQHN0ZXAqMXB4KTtcbiAgfVxuICAuZ2VuZXJhdGUtbWFyZ2luLW9wdGlvbnMoQG4sIChAaSArIDEpKTtcbn1cblxuLmZ1bGwtaGVpZ2h0e1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5mdWxsLXdpZHRoe1xuICB3aWR0aDogMTAwJTtcbn1cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pbmxpbmV7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG4uYmxvY2t7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmItYmxhbmt7XG5cdGJvcmRlci1jb2xvcjojMDAwO1xufVxuXG4vKiBCb3JkZXIgSGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmItYSxcbi5iLXIsXG4uYi1sLFxuLmItdCxcbi5iLWJ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLmItcntcblx0LmJvcmRlci1yaWdodC13aWR0aCgxcHgpO1xufVxuLmItbHtcbiAgLmJvcmRlci1sZWZ0LXdpZHRoKDFweCk7XG59XG4uYi10e1xuICBib3JkZXItdG9wLXdpZHRoOjFweDtcbn1cbi5iLWJ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6MXB4O1xufVxuLmItYXtcblx0Ym9yZGVyLXdpZHRoOjFweDtcbn1cblxuLmItZGFzaGVke1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbn1cblxuLmItdGhpY2t7XG4gIGJvcmRlci13aWR0aCA6IDJweDtcbn1cblxuLmItdHJhbnNwYXJlbnR7XG5cdGJvcmRlci1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4uYi10cmFuc3BhcmVudC13aGl0ZXtcblx0Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cbi5iLWdyZXl7XG5cdGJvcmRlci1jb2xvcjpAY29sb3ItbWFzdGVyLWxpZ2h0O1xufVxuLmItd2hpdGV7XG4gIGJvcmRlci1jb2xvcjojZmZmO1xufVxuLmItcHJpbWFyeXtcbiAgYm9yZGVyLWNvbG9yOkBjb2xvci1wcmltYXJ5O1xufVxuLmItY29tcGxldGV7XG4gIGJvcmRlci1jb2xvcjpAY29sb3ItcHJpbWFyeTtcbn1cbi5iLXN1Y2Nlc3N7XG4gIGJvcmRlci1jb2xvcjpAY29sb3Itc3VjY2Vzcztcbn1cbi5iLWluZm97XG4gIGJvcmRlci1jb2xvcjpAY29sb3ItaW5mbztcbn1cbi5iLWRhbmdlcntcbiAgYm9yZGVyLWNvbG9yOkBjb2xvci1kYW5nZXI7XG59XG4uYi13YXJuaW5ne1xuICBib3JkZXItY29sb3I6QGNvbG9yLXdhcm5pbmc7XG59XG4vKiBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4uYi1yYWQtc217XG4gIC5ib3JkZXItcmFkaXVzKDNweCk7XG59XG4uYi1yYWQtbWR7XG4gIC5ib3JkZXItcmFkaXVzKDVweCk7XG59XG4uYi1yYWQtbGd7XG4gIC5ib3JkZXItcmFkaXVzKDdweCk7XG59XG4ubm8tYm9yZGVye1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qKiBQcm9maWxlIFdyYXBwZXJzICoqL1xuLnByb2ZpbGUtaW1nLXdyYXBwZXJ7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHQuZmxvYXQobGVmdCk7XG5cdGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDM1cHg7XG4gLXdlYmtpdC1mbGV4OiAxO1xuICAtbW96LWZsZXg6IDE7XG4gIGZsZXg6IDE7XG59XG4ucHJvZmlsZS1pbWctd3JhcHBlci5iaWd7XG4gICAgaGVpZ2h0OiA2OHB4O1xuICAgIHdpZHRoOiA2OHB4O1xufVxuLnByb2ZpbGUtaW1nLXdyYXBwZXIud2l0aC1sZWZ0LXNwYWNlLWN1c3RvbXtcblx0Lm1hcmdpbi1sZWZ0KDdweCk7XG59XG5cbi5yZWxhdGl2ZXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBEZW1vIFB1cnBvc2VzICovXG4uaWNvbi1zZXQtcHJldmlld3tcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcjtcbn1cbiNpY29uLWxpc3R7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xufVxuLmVycm9yLW51bWJlcntcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zaXplOiA5MHB4O1xuICBsaW5lLWhlaWdodDogOTBweDtcbn1cbi5lcnJvci1jb250YWluZXItaW5ubmVye1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMzYwcHg7XG59XG4uZXJyb3ItY29udGFpbmVye1xuICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDM4JTtcbn1cblxuLnZpc2libGUteGxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLmhpZGRlbi14bGcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEYXNoYm9hcmQgd2lkZ2V0IGhlaWdodHNcblxuLnNtLWd1dHRlciAucm93ID4gW2NsYXNzXj1cImNvbC1cIl0sIC5zbS1ndXR0ZXIgLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAucGFkZGluZy1sZWZ0KEBsYXlvdXQtZ3V0dGVyLXNtKTtcbiAgICAucGFkZGluZy1yaWdodChAbGF5b3V0LWd1dHRlci1zbSk7XG59XG4uc20tZ3V0dGVyIC5yb3cge1xuICAgIC5tYXJnaW4tbGVmdCgtQGxheW91dC1ndXR0ZXItc20pO1xuICAgIC5tYXJnaW4tcmlnaHQoLUBsYXlvdXQtZ3V0dGVyLXNtKTtcbn1cblxuLyogQXNwZWN0IHJhdGlvICovXG4uYXItMS0xLFxuLmFyLTItMSxcbi5hci0xLTIsXG4uYXItMy0yLFxuLmFyLTItM3tcbiAgLnBhbmVse1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLmFyLTEtMXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgICAvKiBkZXNpcmVkIHdpZHRoICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7ICAvKiBpbml0aWFsIHJhdGlvIG9mIDE6MSovXG4gIH1cbiAgJiA+IGRpdntcbiAgICBwb3NpdGlvbjogIGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uYXItMi0xe1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyAgIC8qIGRlc2lyZWQgd2lkdGggKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh+JzUwJSAtICdAbGF5b3V0LWd1dHRlci1zbSk7ICAvKiBpbml0aWFsIHJhdGlvIG9mIDE6MSovXG4gIH1cbiAgJiA+IGRpdntcbiAgICBwb3NpdGlvbjogIGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uYXItMS0ye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyAgIC8qIGRlc2lyZWQgd2lkdGggKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh+JzE1MCUgLSAnQGxheW91dC1ndXR0ZXItc20pOyAgLyogaW5pdGlhbCByYXRpbyBvZiAxOjEqL1xuICB9XG4gICYgPiBkaXZ7XG4gICAgcG9zaXRpb246ICBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFyLTMtMntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgICAvKiBkZXNpcmVkIHdpZHRoICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IGNhbGMofic3NSUgLSAnQGxheW91dC1ndXR0ZXItc20pOyAgLyogaW5pdGlhbCByYXRpbyBvZiAxOjEqL1xuICB9XG4gICYgPiBkaXZ7XG4gICAgcG9zaXRpb246ICBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFyLTItM3tcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgICAvKiBkZXNpcmVkIHdpZHRoICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoficxMjUlIC0gJ0BsYXlvdXQtZ3V0dGVyLXNtKTsgIC8qIGluaXRpYWwgcmF0aW8gb2YgMToxKi9cbiAgfVxuICAmID4gZGl2e1xuICAgIHBvc2l0aW9uOiAgYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbi52LWFsaWduLWJvdHRvbXtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xufVxuLnYtYWxpZ24tdG9we1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG4udi1hbGlnbi1taWRkbGV7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cbi8qIHZlcnRpY2FsIGFsaWdubWVudCBzdHlsZXMgKi9cbi5jb2wtdG9wIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjp0b3AgIWltcG9ydGFudDtcbn1cbi5jb2wtbWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGUgIWltcG9ydGFudDtcbn1cbi5jb2wtYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjpib3R0b20gIWltcG9ydGFudDtcbn1cblxuLyogY29sdW1ucyBvZiBzYW1lIGhlaWdodCBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5jb250YWluZXIteHMtaGVpZ2h0IHtcbiAgICBkaXNwbGF5OnRhYmxlO1xuICAgIHBhZGRpbmctbGVmdDowcHg7XG4gICAgcGFkZGluZy1yaWdodDowcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLnJvdy14cy1oZWlnaHQge1xuICAgIGRpc3BsYXk6dGFibGUtcm93O1xufVxuLmNvbC14cy1oZWlnaHQge1xuICAgIGRpc3BsYXk6dGFibGUtY2VsbDtcbiAgICBmbG9hdDpub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lci1zbS1oZWlnaHQge1xuICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuICAgIC5yb3ctc20taGVpZ2h0IHtcbiAgICAgICAgZGlzcGxheTp0YWJsZS1yb3c7XG4gICAgfVxuICAgIC5jb2wtc20taGVpZ2h0IHtcbiAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFpbmVyLW1kLWhlaWdodCB7XG4gICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgIHBhZGRpbmctbGVmdDowcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB9XG4gICAgLnJvdy1tZC1oZWlnaHQge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLXJvdztcbiAgICB9XG4gICAgLmNvbC1tZC1oZWlnaHQge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyLWxnLWhlaWdodCB7XG4gICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgIHBhZGRpbmctbGVmdDowcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB9XG4gICAgLnJvdy1sZy1oZWlnaHQge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLXJvdztcbiAgICB9XG4gICAgLmNvbC1sZy1oZWlnaHQge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblsyOS4gUHJpbnRdXG4qL1xuXG5AbWVkaWEgcHJpbnR7XG5cdC5oZWFkZXIsIFxuXHQucGFnZS1zaWRlYmFyLCBcblx0LnF1aWNrdmlldy13cmFwcGVyLCBcblx0Lm92ZXJsYXkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LnBhZ2UtY29udGFpbmVye1xuXHRcdC5wYWRkaW5nLWxlZnQoMCk7XG5cdH1cblx0LnBhZ2UtY29udGVudC13cmFwcGVyIHtcblx0XHQuY29udGVudHtcblx0XHRib3JkZXItdG9wOjA7XG5cdFx0XHQucGFuZWwge1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdC5wYW5lbC1ib2R5e1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFtjbGFzc149J3BhZGRpbmctJ10sXG5cdFtjbGFzcyo9J3BhZGRpbmctJ10sIFxuXHQudGFibGUgdGJvZHkgdHIgdGR7XG5cdFx0cGFkZGluZzogMTBweDtcblx0fVxuXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblszMC4gRGVtbyA6IE9ubHkgZm9yIGRlbW8gcHVyc3Bvc2VzXVxuKi9cblxuXG5AYnVpbGRlci1vcHRpb25zLXdpZHRoIDogMjYwcHg7XG5AYnVpbGRlci1vcHRpb25zLWhlYWRlci1oZWlnaHQgOjEwMnB4O1xuQGFzc2V0cy1pbWctdXJsOicuLi8uLi9hc3NldHMvaW1nLyc7XG5cbi5idWlsZGVye1xuICAgIHdpZHRoOiA0MjNweDtcbiAgICAucmlnaHQoLTQyM3B4KTtcbiAgICAmID4gZGl2e1xuICAgICAgICBoZWlnaHQ6Y2FsYyh+JzEwMCUgLSAxMnB4Jyk7XG4gICAgfVxuICAgIGF7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjptaXgoQGNvbG9yLW1hc3RlciwgI2ZmZiwgNjAlKTtcbiAgICAgICAgJiA+IGltZ3tcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMzM7XG4gICAgICAgICAgICAudHJhbnNpdGlvbihvcGFjaXR5IDAuMXMgbGluZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgY29sb3I6QGNvbG9yLW1hc3RlcjtcbiAgICAgICAgICAgICAmID4gaW1ne1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODc7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHthc3NldHMtaW1nLXVybH0vZGVtby90aWNrLnN2ZycpO1xuICAgICAgICAgICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogODRweDtcbiAgICAgICAgICAgICAgICAucmlnaHQoLTEwcHgpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6bWl4KEBjb2xvci1tYXN0ZXIsICNmZmYsIDgwJSk7XG4gICAgICAgICAgICAgJiA+IGltZ3tcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idWlsZGVyLWZvb3RlcntcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4gICAgLnRoZW1lLXNlbGVjdG9yLmFjdGl2ZTpiZWZvcmV7XG4gICAgICAgIHRvcDogNTRweDtcbiAgICAgICAgLnJpZ2h0KDEwcHgpO1xuICAgIH1cbiAgICAubmF2LXRhYnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgJiA+IGxpID4gYXtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOTlweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmF2LXRhYnMgfiAudGFiLWNvbnRlbnR7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnBhZGRpbmctcmlnaHQoMHB4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgLnRhYi1wYW5le1xuICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgIC5zY3JvbGxhYmxle1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyN3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogfidjYWxjKDEwMCUgLSA0N3B4KSc7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmJ1aWxkZXItY2xvc2V7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLnJpZ2h0KDM2cHgpO1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgICAuYnVpbGRlci10b2dnbGV7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgIGxlZnQ6IC00OHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6YmVmb3Jle1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB0b3A6MjAlO1xuICAgICAgIC5sZWZ0KC00N3B4KTtcbiAgICAgICAgYm94LXNoYWRvdzowIDAgOXB4IHJnYmEoMTkxLDE5MSwxOTEsLjM2KTtcbiAgICAgICAgLmJvcmRlci1sZWZ0KDFweCBzb2xpZCByZ2JhKDIyMiwyMjcsMjMxLC41NikpO1xuICAgICAgICAuYm9yZGVyLWxlZnQtcmFkaXVzKDRweCk7XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgLmxlZnQoMCk7XG4gICAgICAgIHRvcDogMjAlO1xuICAgIH1cbiAgICAuYnRuLXRvZ2dsZS10aGVtZXtcbiAgICAgICAgICYgPiBpbWd7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgIHB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgfSAgICAgXG4gICAgfVxufVxuLnJ0bCB7XG4gICAgLmJ1aWxkZXIgLmJ1aWxkZXItdG9nZ2xle1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTQ4cHg7XG4gICAgfVxufVxuLmNvbnRlbnQtYnVpbGRlcntcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYuYWN0aXZle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnBsYWNlaG9sZGVye1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50OiBcIkNvbnRlbnQgZ29lcyBoZXJlXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgb3BhY2l0eTogLjE2O1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1tYXN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJldmlld2Vye1xuICAgIGhlaWdodDogMzVweDtcbn1cblxuLyogRGVtbyBXaWR0aHMgRm9yIEdJRiBBbmltYXRpb25zIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLmRlbW8tYmctaGludGVke1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MzkzOTNcbn1cbi5kZW1vLWZzLTIze1xuICAgIGZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7XG59XG4uZGVtby1tdy01MHtcbiAgICBtYXgtd2lkdGg6IDUwcHg7XG59XG4uZGVtby1tdy0zMDB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbn1cbi5kZW1vLW13LTM1MHtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xufVxuLmRlbW8tbXctNDAwe1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG4uZGVtby1tdy01MDB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbi5kZW1vLW13LTYwMHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xufVxuLmRlbW8tY29udGFpbmVye1xuICAgIGhlaWdodDogMjAwMHB4O1xufVxuXG4vKiBWaWV3cyBwYWdlICovXG4udmlldy1pZnJhbWUtd3JhcHBlcntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI1NXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlmcmFtZXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNDVweCA0NXB4IDAgNDVweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6MTIwMHB4KXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnN0aXRjaGVzLW1lbnUtc3ByaXRlKEB4OiAwLCBAeTogMCwgQHdpZHRoOiAwLCBAaGVpZ2h0OiAwKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IEB4IEB5O1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG5cbi5tZW51LXNwcml0ZSgpe1xuXG59XG5cbi5tZW51LWl0ZW1zIHtcblxuICAubWVudS1pY29uLWRhc2hib2FyZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL21lbnUtaWNvbnMucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC5zdGl0Y2hlcy1tZW51LXNwcml0ZSgtMTU1cHgsIC01cHgsIDQwcHgsIDQwcHgpO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lbnUtaWNvbi1kZXBvc2l0cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL21lbnUtaWNvbnMucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC5zdGl0Y2hlcy1tZW51LXNwcml0ZSgtNDVweCwgLTU1cHgsIDMwcHgsIDMwcHgpO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG5cbiAgbGk6aG92ZXIge1xuICAgIC5tZW51LWljb24tZGFzaGJvYXJkIHtcbiAgICAgIC5zdGl0Y2hlcy1tZW51LXNwcml0ZSgtMTA1cHgsIC01cHgsIDQwcHgsIDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gIGxpLm9wZW4ge1xuICAgIC5tZW51LWljb24tZGFzaGJvYXJkIHtcbiAgICAgIC5zdGl0Y2hlcy1tZW51LXNwcml0ZSgtMTA1cHgsIC01cHgsIDQwcHgsIDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5zdWItbWVudSBsaS5hY3RpdmUge1xuICAgIC5tZW51LWljb24tZGVwb3NpdHMge1xuICAgICAgLnN0aXRjaGVzLW1lbnUtc3ByaXRlKC01cHgsIC01NXB4LCAzMHB4LCAzMHB4KTtcbiAgICB9XG4gIH1cblxuICAuc3ViLW1lbnUgbGk6aG92ZXIge1xuICAgIC5tZW51LWljb24tZGVwb3NpdHMge1xuICAgICAgLnN0aXRjaGVzLW1lbnUtc3ByaXRlKC01cHgsIC01NXB4LCAzMHB4LCAzMHB4KTtcbiAgICB9XG4gIH1cbn0iLCIuY29ob3J0LXRhYmxlIHtcblxuICB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNlbGwtcGVyY2VudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cblxuICAuY2VsbC1wbGF5ZXJzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgfVxuXG4gIC5jZWxsLXRyYWplY3RvcnktdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jZWxsLXRyYWplY3RvcnktdXA6YWZ0ZXIgeyAvKiBNYWdpYyBIYXBwZW5zIEhlcmUhISEgKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBncmVlbjtcbiAgfVxuXG4gIC5jZWxsLXRyYWplY3RvcnktZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmNlbGwtdHJhamVjdG9yeS1kb3duOmFmdGVyIHsgLyogTWFnaWMgSGFwcGVucyBIZXJlISEhICovXG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCByZWQ7XG4gIH1cblxuXG4gIC5jZWxsLW1heCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmNlbGwtbWF4OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCggNDVkZWcsIHJnYmEoMjQ0LCAyMDgsIDYzLCAwLjE1KSwgcmdiYSgyNDQsMjA4LDYzLDAuMTUpIDVweCwgcmdiYSg3MCwgODIsIDE1MiwgMCkgNXB4LCByZ2JhKDcwLCA4MiwgMTUyLCAwKSAxNXB4ICk7Ki9cbiAgICBib3JkZXI6IDNweCBkYXNoZWQgcmdiYSgyNDQsIDIwOCwgNjMsIDEpO1xuICB9XG59XG5cblxuLmFnLWNvaG9ydC10YWJsZSB7XG5cbiAgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIH1cblxuICAuYWctY2VsbC5hZy1jZWxsLXR5cGUtY29ob3J0LWlnbm9yZSB7XG4gICAgY29sb3I6ICNmMGYzZjY7XG4gIH1cblxuICAuYWctY2VsbC5hZy1jZWxsLXR5cGUtY29ob3J0LW11dGUge1xuICAgIGNvbG9yOiAjYWFiNGJiO1xuICB9XG5cbiAgLmFnLXJvdy1zZWxlY3RlZCB7XG4gICAgLmFnLWNlbGwge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJlZDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZWQ7XG4gICAgfVxuICB9XG5cbiAgLmFnLXJvdyB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLmFnLWNlbGwge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRjJGNUY4O1xuICAgIGNvbG9yOiAjODg5NmEwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgLmFnLWNlbGwtdHlwZS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuYWctY2VsbC10eXBlLWNvaG9ydCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgfVxuXG4gIC5jZWxsLXBsYXllcnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICB9XG5cbiAgLmNlbGwtcGVyY2VudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbn0iLCIudmlzaWJsZS14bGcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZGVuLXhsZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqIExhcmdlIHNjcmVlbnMgKioqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE4MjRweCkge1xuXG4gIC52aXNpYmxlLXhsZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5oaWRkZW4teGxnIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucXVpY2t2aWV3LXdyYXBwZXIgLnRhYi1jb250ZW50ICNxdWlja3ZpZXctbm90ZXMgPiAuaW5uZXIge1xuICAgIHdpZHRoOiA1NzBweDtcbiAgfVxuXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgICYuY29udGFpbmVyLWZpeGVkLWxnIHtcbiAgICAgIHdpZHRoOiBAbGF5b3V0LWNvbnRhaW5lci1maXhlZC1sZztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LXBpbiAuY29udGFpbmVyLWZsdWlkLmNvbnRhaW5lci1maXhlZC1sZyB7XG4gICAgd2lkdGg6IEBsYXlvdXQtY29udGFpbmVyLWZpeGVkLWxnIC0gQGxheW91dC1zaWRlcGFuZWwtcGluLXdpZHRoO1xuICB9XG5cbiAgLnZpc2libGUteGxnIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhpZGRlbi14bGcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jb2wteGxnLTEsIC5jb2wteGxnLTIsIC5jb2wteGxnLTMsIC5jb2wteGxnLTQsIC5jb2wteGxnLTUsIC5jb2wteGxnLTYsIC5jb2wteGxnLTcsIC5jb2wteGxnLTgsIC5jb2wteGxnLTksIC5jb2wteGxnLTEwLCAuY29sLXhsZy0xMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jb2wteGxnLTEyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbC14bGctMTEge1xuICAgIHdpZHRoOiA5MS42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC14bGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjclO1xuICB9XG5cbiAgLmNvbC14bGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5jb2wteGxnLTUge1xuICAgIHdpZHRoOiA0MS42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXhsZy0yIHtcbiAgICB3aWR0aDogMTYuNjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjclO1xuICB9XG5cbiAgLmNvbC14bGctcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctcHVsbC0zIHtcbiAgICByaWdodDogMjUlO1xuICB9XG5cbiAgLmNvbC14bGctcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtMCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTEyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjclO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtMCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5jb2wteGxnLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cblxuICAuY29sLXhsZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAuY29sLXhsZy1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjclO1xuICB9XG5cbiAgLmNvbC14bGctb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG5cbiAgLmNvbC14bGctb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5jb2wteGxnLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbn1cblxuLyoqKiBEZXNrdG9wcyAqKiovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG59XG5cbi8qKiogTWVkaXVtIFNpemUgU2NyZWVuICoqKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG5cbiAgLnBhZ2Utc2lkZWJhciAucGFnZS1zaWRlYmFyLWlubmVyIC5zaWRlYmFyLXNsaWRlIHtcbiAgICAuc2lkZWJhci1tZW51IHtcbiAgICAgIGJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgLnNpZGViYXItd2lkZ2V0cyB7XG4gICAgICBkaXNwbGF5OiBub25lXG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci13aWRnZXQge1xuICAgIHBhZGRpbmc6IDExcHggMjFweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKiogRGVza3RvcHMgJiBMYXB0b3BzICoqKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgYm9keSB7XG4gICAgJi5pZTkubWVudS1waW4ge1xuICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgICYubWVudS1waW4ge1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgLmhlYWRlciAuYnJhbmQge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICB9XG4gICAgICAucGFnZS1jb250YWluZXIge1xuICAgICAgICAucGFkZGluZy1sZWZ0KDApO1xuICAgICAgICAucGFnZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIC5wYWRkaW5nLWxlZnQoQGxheW91dC1zaWRlcGFuZWwtcGluLXdpZHRoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvb3RlciB7XG4gICAgICAgICAgICAubGVmdChAbGF5b3V0LXNpZGVwYW5lbC1waW4td2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgW2RhdGEtdG9nZ2xlLXBpbj1cInNpZGViYXJcIl0ge1xuICAgICAgICAmID4gaTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYWdlLXNpZGViYXIgd2hlbiBub3QgKEBydGwpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQGxheW91dC1zaWRlcGFuZWwtd2lkdGggLSBAbGF5b3V0LXNpZGVwYW5lbC13aWR0aC1jb2xsYXBzZWQgLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoIC0gQGxheW91dC1zaWRlcGFuZWwtd2lkdGgtY29sbGFwc2VkLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQGxheW91dC1zaWRlcGFuZWwtd2lkdGggLSBAbGF5b3V0LXNpZGVwYW5lbC13aWR0aC1jb2xsYXBzZWQsIDApICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAucGFnZS1zaWRlYmFyIHdoZW4gKEBydGwpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoKEBsYXlvdXQtc2lkZXBhbmVsLXdpZHRoIC0gQGxheW91dC1zaWRlcGFuZWwtd2lkdGgtY29sbGFwc2VkKSAqIC0xICwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgoQGxheW91dC1zaWRlcGFuZWwtd2lkdGggLSBAbGF5b3V0LXNpZGVwYW5lbC13aWR0aC1jb2xsYXBzZWQpICogLTEsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgoQGxheW91dC1zaWRlcGFuZWwtd2lkdGggLSBAbGF5b3V0LXNpZGVwYW5lbC13aWR0aC1jb2xsYXBzZWQpICogLTEsIDApICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAucGFnZS1zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IEBsYXlvdXQtc2lkZXBhbmVsLXBpbi13aWR0aDtcbiAgICAgICAgLm1lbnUtaXRlbXMgLmljb24tdGh1bWJuYWlsIHtcbiAgICAgICAgICAudHJhbnNsYXRlM2QoLTE0cHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYubWVudS1iZWhpbmQge1xuICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgIHotaW5kZXg6IEB6SW5kZXgtbmF2YmFyIC0gMTtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXIgLmJyYW5kIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAudGV4dC1hbGlnbihsZWZ0KTtcbiAgICAgICAgLnBhZGRpbmctbGVmdCgyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5ib3gtbGF5b3V0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgICYgPiAuY29udGFpbmVyLFxuICAgICAgJiA+IC5mdWxsLWhlaWdodCA+IC5jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1tYXN0ZXItbGlnaHRlc3Q7XG4gICAgICB9XG4gICAgICAuaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgJiA+IC5jb250YWluZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjMwLCAyMzAsIDIzMCwgMC43KTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGFnZS1zaWRlYmFyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAucGFnZS1jb250YWluZXIgLnBhZ2UtY29udGVudC13cmFwcGVyIC5mb290ZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIge1xuICAgIC5icmFuZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC51c2VyLWluZm8td3JhcHBlciB7XG4gICAgICAudXNlci1kZXRhaWxzIHtcbiAgICAgICAgLnVzZXItbmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIC51c2VyLW90aGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC51c2VyLXBpYyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ub3RpZmljYXRpb24tcGFuZWwge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgfVxuXG59XG5cbi8qKiogR2VuZXJhbCBTbWFsbCBTY3JlZW4gRGVza3RvcHMgKioqL1xuXG4vKioqIEdlbmVyYWwgdGFibGV0cyBhbmQgcGhvbmVzICoqKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuXG4gIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgLnBhZGRpbmctbGVmdCgwKTtcbiAgfVxuXG4gIGJvZHkge1xuICAgICYuc2lkZWJhci1vcGVuIHtcbiAgICAgIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgyNTBweCwgMCwgMCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIH1cbiAgICAgIC5wdXNoLW9uLXNpZGViYXItb3BlbiB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgyNTBweCwgMCwgMCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICAgICYuYm94LWxheW91dCB7XG4gICAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAucHVsbC1yaWdodCAuc20tYWN0aW9uLWJhciB7XG4gICAgICAgICAgICAucmlnaHQoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYubWVudS1vcGVuZWQuaG9yaXpvbnRhbC1tZW51IHtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIC5iYXIge1xuICAgICAgICAudHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDcpO1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAuaGVhZGVyLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLm1hcmstZW1haWwge1xuICAgICAgICBsZWZ0OiA0NXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjNweDtcbiAgICAgIH1cbiAgICAgIC5xdWlja3ZpZXctbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJyYW5kIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAubm90aWZpY2F0aW9uLWxpc3QsIC5zZWFyY2gtbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiAucHVsbC1sZWZ0LCAmID4gLnB1bGwtcmlnaHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAmID4gLnB1bGwtcmlnaHQge1xuICAgICAgLnNtLWFjdGlvbi1iYXIge1xuICAgICAgICAucmlnaHQoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNtLWFjdGlvbi1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAudHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAmID4gYSB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5wYWNlIC5wYWNlLWFjdGl2aXR5IHtcbiAgICB0b3A6IDYwcHg7XG4gIH1cblxuICAucGFnZS1zaWRlYmFyIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgei1pbmRleDogYXV0bztcbiAgICAubGVmdCgwKSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDBweCkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDBweCwgMHB4KSAhaW1wb3J0YW50O1xuICAgIC5zaWRlYmFyLW1lbnUgLm1lbnUtaXRlbXMgPiBsaSB1bC5zdWItbWVudSA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDBweCAzMHB4IDAgMzZweDtcbiAgICB9XG4gIH1cblxuICAucGFnZS1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAvLyB6LWluZGV4OiAxMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gICAgLnBhZ2UtY29udGVudC13cmFwcGVyIC5jb250ZW50IHtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogYXV0bzsgLy8gbWluaW1pemVzIGFkZHJlc3MgYmFyIG9uIHNjcm9sbFxuICAgIH1cbiAgfVxuXG4gIC5pY29uLXRodW1ibmFpbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgICYudmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnBhZ2Utc2lkZWJhci1pbm5lciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgLnNpZGViYXItc2xpZGUge1xuICAgICAgICAuc2lkZWJhci1tZW51IHtcbiAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHVsID4gbGkgPiBhID4gLmJhZGdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMjVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDYwcHg7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLmJ0bi1jb21wb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmlubmVyLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5icmVhZGNydW1iIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG5cbiAgLy8gUGFnZXMgTm90aWZpY2F0aW9uIGN1c3RvbWl6YXRpb25zXG4gIGJvZHkgPiAucGduLXdyYXBwZXJbZGF0YS1wb3NpdGlvbj1cInRvcFwiXSB7XG4gICAgdG9wOiBAbGF5b3V0LW1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICBib2R5ID4gLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb249XCJib3R0b21cIl0ge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICBib2R5ID4gLnBnbi13cmFwcGVyW2RhdGEtcG9zaXRpb24kPSctbGVmdCddIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnNtLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC51c2VyLXByb2ZpbGUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA1MHB4O1xuICAgIHRvcDogLTlweDtcbiAgfVxuXG4gIC8qKiogSG9yaXpvbnRhbCBNZW51ICoqL1xuICAuaG9yaXpvbnRhbC1tZW51IC5iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogQHpJbmRleC1ob3Jpem9udGFsLW1lbnUtbW9iaWxlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA5cHggcmdiYSgxOTEsIDE5MSwgMTkxLCAuMzYpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyMjIsIDIyNywgMjMxLCAuNTYpO1xuICAgIC50cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAudHJhbnNpdGlvbihhbGwgLjRzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSkpO1xuICAgIC5iYXItaW5uZXIge1xuICAgICAgJiA+IHVsID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJiA+IGEgLmFycm93IHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICAuY2xhc3NpYyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAmIC5tZWdhLFxuICAgICAgICAmLmhvcml6b250YWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmID4gLmhvcml6b250YWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogTGFuZHNjYXBlIHZpZXcgb2YgYWxsIHRhYmxldCBkZXZpY2VzICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAucGFnZS1zaWRlYmFyIC5zaWRlYmFyLW1lbnUgLm1lbnUtaXRlbXMgdWwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7XG4gIH1cblxuICAucGFnZS1jb250YWluZXIge1xuICAgIC5wYWdlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAbGF5b3V0LWhlYWRlci1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYm9keS5ib3gtbGF5b3V0ID4gLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZXJyb3ItcGFnZSB7XG4gICAgLmVycm9yLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgLm1hcmdpbi1sZWZ0KC0xNTVweCk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiBAbGF5b3V0LWhlYWRlci1oZWlnaHQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLmJ0bi1jb21wb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnNwbGl0LWRldGFpbHMge1xuICAgIC5tYXJnaW4tbGVmdCgwKTtcbiAgfVxuXG4gIC50b2dnbGUtc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIC5tYXJnaW4tbGVmdCgtMzZweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICYgfiAuYnJhbmQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNvbHV0aW9uIHNwZWNpZmljIGJvcmRlcnNcbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc20tYi1yLFxuICAuc20tYi1sLFxuICAuc20tYi10LFxuICAuc20tYi1iIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gIH1cblxuICAuc20tYi1yIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgfVxuXG4gIC5zbS1iLWwge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIH1cblxuICAuc20tYi10IHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIH1cblxuICAuc20tYi1iIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbn1cblxuLy8gTWFrZSBhbGwgY29sdW1ucyBlcXVhbCBoZWlnaHRcbi8vIChOb3QgYXBwbGllZCBmb3IgcmVzb2x1dGlvbnMgbG93ZXJzIHRoYW4gbWVudGlvbmVkIGV4OmxnLG1kLHNtXG4vLyBiZWNhdXNlIHRoZXkgc3RhY2sgdXApXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5yb3ctc2FtZS1oZWlnaHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJiA+IFtjbGFzcyo9XCJjb2wtbGdcIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTk5OTk5cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTk5OTlweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yb3ctc2FtZS1oZWlnaHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJiA+IFtjbGFzcyo9XCJjb2wtbWRcIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTk5OTk5cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTk5OTlweDtcbiAgICB9XG4gIH1cblxuICAuaG9yaXpvbnRhbC1tZW51IC5iYXIge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgJiArIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yb3ctc2FtZS1oZWlnaHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJiA+IFtjbGFzcyo9XCJjb2wtc21cIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTk5OTk5cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTk5OTlweDtcbiAgICB9XG4gIH1cblxuICAuYm94LWxheW91dCAuY29udGFpbmVyIC5qdW1ib3Ryb24sIC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5kYXRhVGFibGVzX3dyYXBwZXIuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuZm9ybS1pbmxpbmUgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLyogUG9ydHJhaXQgdmlldyBvZiBhbGwgdGFibGV0IGRldmljZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcblxuICAucGFnZS1zaWRlYmFyIC5zaWRlYmFyLW1lbnUgLm1lbnUtaXRlbXMgPiBsaSB7XG4gICAgJiA+IGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgIH1cbiAgICB1bC5zdWItbWVudSA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDBweCAyN3B4IDAgMzFweDtcbiAgICB9XG4gIH1cblxuICAuaWNvbi10aHVtYm5haWwge1xuICAgIG1hcmdpbi1yaWdodDogMjFweDtcbiAgfVxuXG4gIC5lcnJvci1wYWdlIHtcbiAgICAuZXJyb3ItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRvZ2dsZS1zZWNvbmRhcnktc2lkZWJhciB7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAmIH4gLmJyYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAubGVmdCg1MCUpO1xuICAgIC5tYXJnaW4tbGVmdCgtMTI1cHgpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogQGxheW91dC1oZWFkZXItaGVpZ2h0O1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC5idG4tY29tcG9zZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zcGxpdC12aWV3IHtcbiAgICAuc3BsaXQtbGlzdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAuaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgLmlubGluZSB7XG4gICAgICAgICAgLm1hcmdpbi1sZWZ0KDVweCk7XG4gICAgICAgICAgd2lkdGg6IDE4OHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNwbGl0LWRldGFpbHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmVtYWlsLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoficxMDAlIC0gNTBweCcpO1xuICAgICAgICAuZW1haWwtY29udGVudCB7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmNvbXBvc2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAuYnRuLWNvbXBvc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgLmhlYWRlciB7XG4gICAgaGVpZ2h0OiBAbGF5b3V0LW1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICAgIC5ub3RpZmljYXRpb24tbGlzdCwgLnNlYXJjaC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgaGVpZ2h0OiBAbGF5b3V0LW1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIgLnVzZXItaW5mby13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhlYWRlciAuc2VhcmNoLWxpbmsge1xuICAgIGhlaWdodDogMTlweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmp1bWJvdHJvbiwgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICB9XG5cbiAgLnBhZ2UtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGFnZS1jb250YWluZXIgLnBhZ2UtY29udGVudC13cmFwcGVyIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogQGxheW91dC1tb2JpbGUtaGVhZGVyLWhlaWdodDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cblxuICAucGFnZS1zaWRlYmFyIC5zaWRlYmFyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICB9XG5cbiAgLnBhZ2Utc2lkZWJhciAuc2lkZWJhci1tZW51IC5tZW51LWl0ZW1zID4gbGkge1xuICAgICYgPiBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG4gICAgdWwuc3ViLW1lbnUgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwcHggMjVweCAwIDI4cHg7XG4gICAgfVxuICB9XG5cbiAgLmljb24tdGh1bWJuYWlsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAuc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgIHRvcDogQGxheW91dC1tb2JpbGUtaGVhZGVyLWhlaWdodDtcbiAgfVxuXG4gIC5zcGxpdC1kZXRhaWxzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5lbWFpbC1jb21wb3NlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cblxuICAuc20tcHVsbC1ib3R0b20sIC5zbS1wdWxsLXVwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYWdlLWJhciB7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC04cHggIWltcG9ydGFudDtcbiAgfVxuXG5cbiAgLmdlbmVyYXRlLXBhZGRpbmdzLW9wdGlvbnMtc20oMTApO1xuXG4gIC5nZW5lcmF0ZS1wYWRkaW5ncy1vcHRpb25zLXNtKEBuLCBAaTogMCkgd2hlbiAoQGkgPTwgQG4pIHtcbiAgICBAc3RlcDogQGkqNTtcbiAgICAuc20tcC10LUB7c3RlcH0ge1xuICAgICAgcGFkZGluZy10b3A6IChAc3RlcCoxcHgpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zbS1wLXItQHtzdGVwfSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoQHN0ZXAqMXB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc20tcC1sLUB7c3RlcH0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAoQHN0ZXAqMXB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc20tcC1iLUB7c3RlcH0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IChAc3RlcCoxcHgpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zbS1wYWRkaW5nLUB7c3RlcH0ge1xuICAgICAgcGFkZGluZzogKEBzdGVwKjFweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmdlbmVyYXRlLXBhZGRpbmdzLW9wdGlvbnMtc20oQG4sIChAaSArIDEpKTtcbiAgfVxuXG4gIC5nZW5lcmF0ZS1tYXJnaW4tb3B0aW9ucy1zbSgxMCk7XG5cbiAgLmdlbmVyYXRlLW1hcmdpbi1vcHRpb25zLXNtKEBuLCBAaTogMSkgd2hlbiAoQGkgPTwgQG4pIHtcbiAgICBAc3RlcDogQGkqNTtcbiAgICAuc20tbS10LUB7c3RlcH0ge1xuICAgICAgbWFyZ2luLXRvcDogKEBzdGVwKjFweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNtLW0tci1Ae3N0ZXB9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogKEBzdGVwKjFweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNtLW0tbC1Ae3N0ZXB9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQHN0ZXAqMXB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc20tbS1iLUB7c3RlcH0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogKEBzdGVwKjFweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmdlbmVyYXRlLW1hcmdpbi1vcHRpb25zLXNtKEBuLCAoQGkgKyAxKSk7XG4gIH1cbiAgLnNtLW5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cblxuICAuc20tbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG5cbiAgLnNtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc20tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc20tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXB1bGwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXB1bGwtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbS1wdWxsLXJlc2V0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5lcnJvci1jb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLnNtLWltYWdlLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLyoqKiBQaG9uZXMgKioqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIGJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5oZWFkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IEBsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDcpO1xuXG4gICAgICAuaGVhZGVyLWlubmVyIHtcbiAgICAgICAgaGVpZ2h0OiBAbGF5b3V0LW1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC50b2dnbGUtc2Vjb25kYXJ5LXNpZGViYXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLm1hcmstZW1haWwge1xuICAgICAgICAgIGxlZnQ6IDM1cHg7XG4gICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIC5xdWlja3ZpZXctbGluayB7XG4gICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIC5ub3RpZmljYXRpb24tbGlzdCwgLnNlYXJjaC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICB9XG4gICAgICAubm90aWZpY2F0aW9uLWxpc3QsIC5zZWFyY2gtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAjb3ZlcmxheS1zZWFyY2gge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgaGVpZ2h0OiAxMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLXNpZGViYXIgLnNpZGViYXItaGVhZGVyIHtcbiAgICBoZWlnaHQ6IEBsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gIH1cblxuICAucGFuZWwge1xuICAgIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG4gICAgLnBhbmVsLWJvZHkge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lcnJvci1wYWdlIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIC5lcnJvci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAucHVsbC1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5tYXAtY29udHJvbHMge1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cblxuICAucmVnaXN0ZXItY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5lcnJvci1jb250YWluZXItaW5ubmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vKioqIFJldGluYSBEaXNwbGF5IEltYWdlcyAqKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMi4wKSwgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuMCksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMjAwLzEwMCksIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMi4wKSB7XG4gIC5pY29uLXNldCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdAe2Jhc2UtaW1nLXVybH0vaWNvbnMvdG9wX3RyYXlfMngucG5nJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTVweCAxOXB4O1xuICB9XG5cbiAgLmVkaXRvci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2Jhc2UtaW1nLXVybH0vZWRpdG9yX3RyYXlfMngucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDgwcHggNDBweDtcbiAgfVxuXG4gIC5hbGVydCAuY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IHVybChcIkB7YmFzZS1pbWctdXJsfS9pY29ucy9ub3RpLWNyb3NzLTJ4LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOXB4IC0xMHB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogOXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTRweCAyOXB4O1xuICB9XG5cbn1cbiJdfQ== */
