/*
Theme Name: Hazel Child
Description: Child theme for the Hazel Theme
Author: TreeKode
Template: hazel
Version: 2.2
*/
/* == Communs ============================================================================= */
/* ==========================================================================
   Mixins
   ========================================================================== */
/* ====================================================================================================================
   Mixin : Linear-gradient
   Usage :
		@include linear-gradient(#31B7D7, #EDAC7D);
  		@include linear-gradient(to right, #E47D7D 0%, #C195D3 50%, #4FB4E8 100%);
  		@include linear-gradient(42deg, #B58234 0%, #D2B545 50%, #D7C04D 50.01%, #FFFFFF 100%);
   ==================================================================================================================== */
.vtable {
  display: table;
  height: 100%;
  width: 100%; }
  .vtable > div {
    display: table-cell;
    height: 100%;
    width: 100%;
    text-align: center;
    vertical-align: middle; }

.vcell {
  display: table-cell;
  height: 100%;
  width: 100%;
  text-align: center;
  vertical-align: middle; }

.group:after {
  content: "";
  display: table;
  clear: both; }

.dl-menu > li:first-child, .navbar-nav > li:first-child {
  display: none; }

.nav-container > .navbar-collapse.collapse {
  margin-top: 4px !important; }

header.style1.header_after_scroll .hazel_right_header_icons {
  display: none; }

#rev_slider_1_1_wrapper .metis .tp-tab-number {
  font-family: "Poppins" !important; }

#rev_slider_1_1_wrapper .metis .tp-tab-title {
  font-family: "Poppins" !important; }

#rev_slider_2_1_wrapper .metis .tp-tab-number {
  font-family: "Poppins" !important; }

#rev_slider_2_1_wrapper .metis .tp-tab-title {
  font-family: "Poppins" !important; }

.bg-contain-top-right {
  background-position: top right !important;
  background-size: contain !important;
  background-repeat: no-repeat; }

.uppercase p {
  text-transform: uppercase; }

.text-bold {
  font-weight: 700 !important; }

.text-yellow {
  color: #9a6c38; }

.wpb_text_column a {
  text-decoration: underline; }

.btn {
  padding: 0;
  margin-top: 20px; }

.vc_general.vc_btn3 {
  padding: 15px 20px !important;
  background-color: #9a6c38 !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  text-transform: uppercase; }

h3.aio-icon-title {
  text-transform: uppercase; }

.Defaults-circle-thin {
  color: #9a6c38; }

.ult-carousel-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

.slick-arrow {
  color: #9a6c38 !important;
  font-size: 30px !important;
  margin-top: -15px !important; }

.slick-slider {
  padding: 0 20px !important; }

.info-c-full {
  width: 70% !important;
  height: 70% !important;
  margin: 15% !important; }

.info-circle-heading {
  font-size: 20px !important;
  font-weight: 600 !important;
  text-transform: uppercase; }

.info-circle-text {
  line-height: 1.2em !important; }

.testimonial p {
  color: #fff !important; }

.t-author-style1 {
  color: #9a6c38 !important;
  letter-spacing: 1px !important; }

.cover-test-img::before {
  content: "" !important;
  width: 50px;
  height: 50px;
  background-color: #9a6c38;
  top: 0 !important;
  left: 0 !important; }

.center-icon .aio-icon-box {
  text-align: center; }

.center-icon .aio-icon-default {
  display: inline-block !important; }

.center-icon .aio-icon-img {
  margin-right: 0; }

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
  float: left;
  background-color: #101010 !important;
  border: solid 1px #383737 !important;
  margin: 10px 0;
  font-size: 12px;
  width: 100%;
  padding: 12px 20px;
  font-family: "Helvetica Neue",Arial,sans-serif !important;
  font-weight: 700 !important; }

.wpcf7 .wpcf7-submit {
  background-color: #101010 !important;
  border: solid 1px #383737 !important;
  padding: 12px 25px;
  border-radius: 0 !important; }

.wpcf7 .hazel-form-simple .f-name, .wpcf7 .hazel-form-simple .f-subject, .wpcf7 .hazel-form-simple .f-email, .f-tel, .f-company {
  width: calc(50% - 10px);
  float: left;
  position: relative;
  margin-right: 10px;
  margin-bottom: 10px; }
  @media (max-width: 768px) {
    .wpcf7 .hazel-form-simple .f-name, .wpcf7 .hazel-form-simple .f-subject, .wpcf7 .hazel-form-simple .f-email, .f-tel, .f-company {
      width: 100% !important;
      margin-left: 0;
      margin-right: 0; } }

div.wpcf7-mail-sent-ok {
  color: #9a6c38 !important; }

.f-email, .f-company {
  margin-left: 10px;
  margin-right: 0 !important; }
  @media (max-width: 768px) {
    .f-email, .f-company {
      margin-left: 0;
      margin-right: 0; } }

span.wpcf7-not-valid-tip {
  background-color: #101010 !important; }

#secondary_footer {
  display: block !important; }

h2 {
  position: relative; }
  @media (max-width: 768px) {
    h2 {
      font-size: 26px !important; } }

@media (max-width: 768px) {
  h3:not(.aio-icon-title) {
    font-size: 36px !important; } }

@media (max-width: 768px) {
  .empty-large {
    height: 60px !important; } }

@media (max-width: 768px) {
  .empty-medium {
    height: 40px !important; } }

@media (max-width: 768px) {
  .empty-small {
    height: 20px !important; } }

@media (max-width: 768px) {
  .empty-large.mobile-big {
    height: 334px !important; } }

@media (max-width: 768px) {
  .aio-icon-component {
    margin-bottom: 15px !important; } }

@media (max-width: 768px) {
  .mobile-nobr br {
    display: none; } }

@media (max-width: 768px) {
  .mobile-nodisplay {
    display: none; } }

.approche {
  padding: 120px 0; }
  @media (max-width: 768px) {
    .approche {
      padding: 40px 0; } }

.testimonial-nav li a::after {
  display: block;
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 25px;
  height: 25px;
  background: url("/wp-content/uploads/2020/04/icn1_white.png") top left no-repeat;
  background-size: contain; }

.testimonial-nav li:nth-child(2) a::after {
  background: url("/wp-content/uploads/2020/04/icn_white2.png") top left no-repeat;
  background-size: contain; }

.testimonial-nav li:nth-child(3) a::after {
  background: url("/wp-content/uploads/2020/04/icn_white3.png") top left no-repeat;
  background-size: contain; }

.testimonial-nav li:nth-child(4) a::after {
  background: url("/wp-content/uploads/2020/04/icn_white4.png") top left no-repeat;
  background-size: contain; }

@media (max-width: 768px) {
  h3.ult-responsive {
    font-weight: bold !important;
    font-size: 14px !important; } }

@media only screen and (max-width: 993px) and (min-width: 768px) {
  .cover-test-img {
    width: 50px !important;
    height: 50px !important; } }

@media only screen and (max-width: 993px) and (min-width: 768px) {
  .testimonials.style1 .testimonial-nav li a {
    width: 50px !important;
    height: 50px !important; } }

.mobile-darkenbg::before {
  display: none; }
  @media (max-width: 768px) {
    .mobile-darkenbg::before {
      position: absolute;
      display: block;
      top: 0px;
      left: 0px;
      right: 0px;
      bottom: 0px;
      content: "";
      display: block;
      background-color: black; } }

.row-only-mobile {
  display: none; }
  @media (max-width: 768px) {
    .row-only-mobile {
      display: block; } }

@media only screen and (max-width: 1450px) {
  .metis .tp-tab-title-mask {
    display: none !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX21peGlucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5UaGVtZSBOYW1lOiBIYXplbCBDaGlsZFxuRGVzY3JpcHRpb246IENoaWxkIHRoZW1lIGZvciB0aGUgSGF6ZWwgVGhlbWVcbkF1dGhvcjogVHJlZUtvZGVcblRlbXBsYXRlOiBoYXplbFxuVmVyc2lvbjogMi4yXG4qL1xuXG4vKiA9PSBDb21tdW5zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ21peGlucyc7XG5cbi8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIikge31cbi8vIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlKTtcblxuJGphdW5lIDogIzlhNmMzODtcbiRibGFjayA6ICMwNTA3MDg7XG5cblxuLnZ0YWJsZSB7XG5cdGRpc3BsYXk6dGFibGU7IGhlaWdodDoxMDAlOyB3aWR0aDoxMDAlO1xuXHQmID4gZGl2IHtkaXNwbGF5OnRhYmxlLWNlbGw7IGhlaWdodDoxMDAlOyB3aWR0aDoxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTt9XG59XG5cbi52Y2VsbCB7ZGlzcGxheTp0YWJsZS1jZWxsOyBoZWlnaHQ6MTAwJTsgd2lkdGg6MTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7fVxuXG4uZ3JvdXA6YWZ0ZXIge2NvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyBjbGVhcjogYm90aDt9XG5cblxuLmRsLW1lbnUgPiBsaTpmaXJzdC1jaGlsZCwgLm5hdmJhci1uYXYgPiBsaTpmaXJzdC1jaGlsZCB7ZGlzcGxheTpub25lO31cbi5uYXYtY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7bWFyZ2luLXRvcDo0cHggIWltcG9ydGFudDt9XG5oZWFkZXIuc3R5bGUxLmhlYWRlcl9hZnRlcl9zY3JvbGwgLmhhemVsX3JpZ2h0X2hlYWRlcl9pY29ucyB7ZGlzcGxheTpub25lO31cblxuI3Jldl9zbGlkZXJfMV8xX3dyYXBwZXIgLm1ldGlzIC50cC10YWItbnVtYmVyIHtmb250LWZhbWlseTpcIlBvcHBpbnNcIiAhaW1wb3J0YW50O31cbiNyZXZfc2xpZGVyXzFfMV93cmFwcGVyIC5tZXRpcyAudHAtdGFiLXRpdGxlICB7Zm9udC1mYW1pbHk6XCJQb3BwaW5zXCIgIWltcG9ydGFudDt9XG5cbiNyZXZfc2xpZGVyXzJfMV93cmFwcGVyIC5tZXRpcyAudHAtdGFiLW51bWJlciB7Zm9udC1mYW1pbHk6XCJQb3BwaW5zXCIgIWltcG9ydGFudDt9XG4jcmV2X3NsaWRlcl8yXzFfd3JhcHBlciAubWV0aXMgLnRwLXRhYi10aXRsZSB7Zm9udC1mYW1pbHk6XCJQb3BwaW5zXCIgIWltcG9ydGFudDt9XG5cblxuLmJnLWNvbnRhaW4tdG9wLXJpZ2h0IHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcCByaWdodCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbiAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7fVxuXG4udXBwZXJjYXNlIHAge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XG5cbi50ZXh0LWJvbGQge2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O31cbi50ZXh0LXllbGxvdyB7Y29sb3I6JGphdW5lO31cblxuLndwYl90ZXh0X2NvbHVtbiBhIHt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO31cblxuLmJ0biB7XG5cdHBhZGRpbmc6MDsgbWFyZ2luLXRvcDoyMHB4O1xuXHRhIHt9XG59XG5cbi52Y19nZW5lcmFsLnZjX2J0bjMge1xuXHRwYWRkaW5nOjE1cHggMjBweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kLWNvbG9yOiRqYXVuZSAhaW1wb3J0YW50OyBjb2xvcjojZmZmICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjUwMCAhaW1wb3J0YW50OyBmb250LXNpemU6MTZweCAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG59XG5cbmgzLmFpby1pY29uLXRpdGxlIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxuLkRlZmF1bHRzLWNpcmNsZS10aGluIHtjb2xvcjokamF1bmU7fVxuXG4udWx0LWNhcm91c2VsLXdyYXBwZXIge21hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50OyBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7fVxuLnNsaWNrLWFycm93IHtjb2xvcjokamF1bmUgIWltcG9ydGFudDsgZm9udC1zaXplOjMwcHggIWltcG9ydGFudDsgbWFyZ2luLXRvcDotMTVweCAhaW1wb3J0YW50O31cbi5zbGljay1zbGlkZXIge3BhZGRpbmc6MCAyMHB4ICFpbXBvcnRhbnQ7fVxuLmluZm8tYy1mdWxsIHt3aWR0aDo3MCUgIWltcG9ydGFudDsgaGVpZ2h0OjcwJSAhaW1wb3J0YW50OyBtYXJnaW46MTUlICFpbXBvcnRhbnQ7fVxuLmluZm8tY2lyY2xlLWhlYWRpbmcge2ZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OjYwMCAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxuLmluZm8tY2lyY2xlLXRleHQge2xpbmUtaGVpZ2h0OjEuMmVtICFpbXBvcnRhbnQ7fVxuLnRlc3RpbW9uaWFsIHAge2NvbG9yOiNmZmYgIWltcG9ydGFudDt9XG4udC1hdXRob3Itc3R5bGUxIHtjb2xvcjokamF1bmUgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6MXB4ICFpbXBvcnRhbnQ7fVxuLmNvdmVyLXRlc3QtaW1nOjpiZWZvcmUge2NvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogIzlhNmMzODsgdG9wOjAgIWltcG9ydGFudDsgbGVmdDowICFpbXBvcnRhbnQ7fVxuXG4uY2VudGVyLWljb24ge1xuXHQuYWlvLWljb24tYm94IHt0ZXh0LWFsaWduOmNlbnRlcjt9XG5cdC5haW8taWNvbi1kZWZhdWx0IHtkaXNwbGF5OmlubGluZS1ibG9jayAhaW1wb3J0YW50O31cblx0LmFpby1pY29uLWltZyB7bWFyZ2luLXJpZ2h0OjA7fVxufVxuXG4ud3BjZjcge1xuXHRpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCB0ZXh0YXJlYSB7ZmxvYXQ6bGVmdDsgYmFja2dyb3VuZC1jb2xvcjojMTAxMDEwICFpbXBvcnRhbnQ7IGJvcmRlcjpzb2xpZCAxcHggIzM4MzczNyAhaW1wb3J0YW50OyBtYXJnaW46MTBweCAwOyBmb250LXNpemU6MTJweDsgd2lkdGg6MTAwJTsgcGFkZGluZzogMTJweCAyMHB4OyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7fVxuXHQud3BjZjctc3VibWl0IHtiYWNrZ3JvdW5kLWNvbG9yOiMxMDEwMTAgIWltcG9ydGFudDsgYm9yZGVyOnNvbGlkIDFweCAjMzgzNzM3ICFpbXBvcnRhbnQ7IHBhZGRpbmc6MTJweCAyNXB4OyBib3JkZXItcmFkaXVzOjAgIWltcG9ydGFudDt9XG59XG5cbi53cGNmNyAuaGF6ZWwtZm9ybS1zaW1wbGUgLmYtbmFtZSwgLndwY2Y3IC5oYXplbC1mb3JtLXNpbXBsZSAuZi1zdWJqZWN0LCAud3BjZjcgLmhhemVsLWZvcm0tc2ltcGxlIC5mLWVtYWlsLCAuZi10ZWwsIC5mLWNvbXBhbnkge1xuXHR3aWR0aDpjYWxjKDUwJSAtIDEwcHgpOyBmbG9hdDpsZWZ0OyBwb3NpdGlvbjpyZWxhdGl2ZTsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbn1cblxuZGl2LndwY2Y3LW1haWwtc2VudC1vayB7Y29sb3I6JGphdW5lICFpbXBvcnRhbnQ7fVxuXG4uZi1lbWFpbCwgLmYtY29tcGFueSB7XG5cdG1hcmdpbi1sZWZ0OjEwcHg7IG1hcmdpbi1yaWdodDowICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIikge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cdFxufVxuc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtiYWNrZ3JvdW5kLWNvbG9yOiMxMDEwMTAgIWltcG9ydGFudDt9XG5cbiNzZWNvbmRhcnlfZm9vdGVyIHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7fVxuXG5oMiB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtmb250LXNpemU6MjZweCAhaW1wb3J0YW50O31cbn1cblxuaDM6bm90KC5haW8taWNvbi10aXRsZSkge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtmb250LXNpemU6MzZweCAhaW1wb3J0YW50O31cbn1cblxuLmVtcHR5LWxhcmdlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKSB7aGVpZ2h0OjYwcHggIWltcG9ydGFudDt9XG59XG5cbi5lbXB0eS1tZWRpdW0ge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtoZWlnaHQ6NDBweCAhaW1wb3J0YW50O31cbn1cblxuLmVtcHR5LXNtYWxsIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKSB7aGVpZ2h0OjIwcHggIWltcG9ydGFudDt9XG59XG5cbi5lbXB0eS1sYXJnZS5tb2JpbGUtYmlnIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKSB7aGVpZ2h0OjMzNHB4ICFpbXBvcnRhbnQ7fVxufVxuXG4uYWlvLWljb24tY29tcG9uZW50IHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKSB7bWFyZ2luLWJvdHRvbToxNXB4ICFpbXBvcnRhbnQ7fVx0XG59XG5cbi5tb2JpbGUtbm9iciB7XG5cdGJyIHtAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtkaXNwbGF5Om5vbmU7fX1cbn1cblxuLm1vYmlsZS1ub2Rpc3BsYXkge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtkaXNwbGF5Om5vbmU7fVxufVxuXG4uYXBwcm9jaGUge1xuXHRwYWRkaW5nOjEyMHB4IDA7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIikge3BhZGRpbmc6NDBweCAwO31cbn1cblxuLnRlc3RpbW9uaWFsLW5hdiB7XG5cdGxpIGE6OmFmdGVyIHtkaXNwbGF5OmJsb2NrOyBjb250ZW50OlwiXCI7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MTJweDsgbGVmdDoxMnB4OyB3aWR0aDoyNXB4OyBoZWlnaHQ6MjVweDsgYmFja2dyb3VuZDp1cmwoJy93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8wNC9pY24xX3doaXRlLnBuZycpIHRvcCBsZWZ0IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47fVxuXHRsaTpudGgtY2hpbGQoMikgYTo6YWZ0ZXIge2JhY2tncm91bmQ6dXJsKCcvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDQvaWNuX3doaXRlMi5wbmcnKSB0b3AgbGVmdCBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb250YWluO31cblx0bGk6bnRoLWNoaWxkKDMpIGE6OmFmdGVyIHtiYWNrZ3JvdW5kOnVybCgnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIwLzA0L2ljbl93aGl0ZTMucG5nJykgdG9wIGxlZnQgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjt9XG5cdGxpOm50aC1jaGlsZCg0KSBhOjphZnRlciB7YmFja2dyb3VuZDp1cmwoJy93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8wNC9pY25fd2hpdGU0LnBuZycpIHRvcCBsZWZ0IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47fVxuXG59XG5cbmgzLnVsdC1yZXNwb25zaXZlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKSB7Zm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50OyBmb250LXNpemU6MTRweCAhaW1wb3J0YW50O31cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTNweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jb3Zlci10ZXN0LWltZyB7d2lkdGg6NTBweCAhaW1wb3J0YW50OyBoZWlnaHQ6NTBweCAhaW1wb3J0YW50O31cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTNweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC50ZXN0aW1vbmlhbHMuc3R5bGUxIC50ZXN0aW1vbmlhbC1uYXYgbGkgYSB7d2lkdGg6NTBweCAhaW1wb3J0YW50OyBoZWlnaHQ6NTBweCAhaW1wb3J0YW50O31cbn1cblxuLm1vYmlsZS1kYXJrZW5iZzo6YmVmb3JlIHtcblx0ZGlzcGxheTpub25lO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtwb3NpdGlvbjphYnNvbHV0ZTsgZGlzcGxheTpibG9jazsgdG9wOjBweDsgbGVmdDowcHg7IHJpZ2h0OjBweDsgYm90dG9tOjBweDsgY29udGVudDpcIlwiOyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoIzAwMCwgMSk7fVxufVxuXG4uYmctb25seS1kZXNrdG9wIHtcblxufVxuXG4ucm93LW9ubHktbW9iaWxlIHtcblx0ZGlzcGxheTpub25lO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtkaXNwbGF5OmJsb2NrO31cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NTBweCkge1xuXHRcblx0Lm1ldGlzIC50cC10YWItdGl0bGUtbWFzayB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG5vbWluIDogMHB4O1xuJHNtYWxsIDogNDAwcHg7XG4kbW9iaWxlIDogNzY4cHg7XG4kbWVkaXVtIDogOTYwcHg7XG4kbGFyZ2UgOiAxNDgwcHg7XG5cbiRtZW51IDogMTI3NXB4O1xuXG4vL0BpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIikge31cblxuQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KVxue1xuXHRAaWYgJHBvaW50ID09IFwibm9taW5cIiB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRub21pbikge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJtb2JpbGVcIiB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGUpIHtAY29udGVudDt9XG5cdH1cblxuXHRAaWYgJHBvaW50ID09IFwiaXBhZHZcIiB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRpcGFkdikge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJsYXJnZVwiIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSB7QGNvbnRlbnQ7fVxuXHR9XG5cblx0QGlmICRwb2ludCA9PSBcInRhYmxldFwiIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldCkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJkZXNrdG9wXCIge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkZGVza3RvcCkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJtZW51XCIge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkbWVudSkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJtZWRpdW1cIiB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtAY29udGVudDt9XG5cdH1cblxuXHRAaWYgJHBvaW50ID09IFwic21hbGxcIiB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzbWFsbCkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJtZW51XCIge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkbWVudSkge0Bjb250ZW50O31cblx0fVxuXHRAaWYgJHBvaW50ID09IFwibWVudS1zbWFsbFwiIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJG1lbnUtc21hbGwpIHtAY29udGVudDt9XG5cdH1cbn1cblxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG4gID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MuLi4pIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiAkYXJncztcblx0LW1vei10cmFuc2l0aW9uOiAkYXJncztcblx0LW1zLXRyYW5zaXRpb246ICRhcmdzO1xuXHQtby10cmFuc2l0aW9uOiAkYXJncztcblx0dHJhbnNpdGlvbjogJGFyZ3M7XG59XG5cblxuQG1peGluIGNhbGMoJGtleSwgJHZhbHVlKSB7XG5cdCN7JGtleX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuXHQjeyRrZXl9OiAtbW96LWNhbGMoI3skdmFsdWV9KTtcblx0I3ska2V5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNaXhpbiA6IExpbmVhci1ncmFkaWVudFxuICAgVXNhZ2UgOlxuXHRcdEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCgjMzFCN0Q3LCAjRURBQzdEKTtcbiAgXHRcdEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI0U0N0Q3RCAwJSwgI0MxOTVEMyA1MCUsICM0RkI0RTggMTAwJSk7XG4gIFx0XHRAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQoNDJkZWcsICNCNTgyMzQgMCUsICNEMkI1NDUgNTAlLCAjRDdDMDREIDUwLjAxJSwgI0ZGRkZGRiAxMDAlKTtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKVxue1xuXHQvLyBEaXJlY3Rpb24gaGFzIGJlZW4gb21pdHRlZCBhbmQgaGFwcGVucyB0byBiZSBhIGNvbG9yLXN0b3Bcblx0QGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKSA9PSBmYWxzZSB7XG5cdFx0JGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XG5cdFx0JGRpcmVjdGlvbjogMTgwZGVnO1xuXHR9XG5cblx0YmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XG59XG5cbi8vLyBUZXN0IGlmICckdmFsdWUnIGlzIGEgdmFsaWQgZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0XG4vLy8gQHJldHVybiB7Qm9vbH1cbkBmdW5jdGlvbiBpcy1kaXJlY3Rpb24oJHZhbHVlKVxue1xuXHQkaXMta2V5d29yZDogaW5kZXgoKHRvIHRvcCwgdG8gdG9wIHJpZ2h0LCB0byByaWdodCB0b3AsIHRvIHJpZ2h0LCB0byBib3R0b20gcmlnaHQsIHRvIHJpZ2h0IGJvdHRvbSwgdG8gYm90dG9tLCB0byBib3R0b20gbGVmdCwgdG8gbGVmdCBib3R0b20sIHRvIGxlZnQsIHRvIGxlZnQgdG9wLCB0byB0b3AgbGVmdCksICR2YWx1ZSk7XG5cdCRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIGFuZCBpbmRleCgnZGVnJyAnZ3JhZCcgJ3R1cm4nICdyYWQnLCB1bml0KCR2YWx1ZSkpO1xuXHRAcmV0dXJuICRpcy1rZXl3b3JkIG9yICRpcy1hbmdsZTtcbn1cblxuLy8vIENvbnZlcnQgYSBkaXJlY3Rpb24gdG8gbGVnYWN5IHN5bnRheFxuLy8vIEBwYXJhbSB7S2V5d29yZCB8IEFuZ2xlfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0XG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1kaXJlY3Rpb25cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnZlcnQtYW5nbGVcbi8vLyBAdGhyb3cgQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi47XG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpXG57XG5cdEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKSA9PSBmYWxzZSB7XG4gICAgXHRAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xuXHR9XG5cdFxuXHQkY29udmVyc2lvbi1tYXA6IChcblx0ICAgIHRvIHRvcCAgICAgICAgICA6IGJvdHRvbSxcblx0ICAgIHRvIHRvcCByaWdodCAgICA6IGJvdHRvbSBsZWZ0LFxuXHQgICAgdG8gcmlnaHQgdG9wICAgIDogbGVmdCBib3R0b20sXG5cdCAgICB0byByaWdodCAgICAgICAgOiBsZWZ0LFxuXHQgICAgdG8gYm90dG9tIHJpZ2h0IDogdG9wIGxlZnQsXG5cdCAgICB0byByaWdodCBib3R0b20gOiBsZWZ0IHRvcCxcblx0ICAgIHRvIGJvdHRvbSAgICAgICA6IHRvcCxcblx0ICAgIHRvIGJvdHRvbSBsZWZ0ICA6IHRvcCByaWdodCxcblx0ICAgIHRvIGxlZnQgYm90dG9tICA6IHJpZ2h0IHRvcCxcblx0ICAgIHRvIGxlZnQgICAgICAgICA6IHJpZ2h0LFxuXHQgICAgdG8gbGVmdCB0b3AgICAgIDogcmlnaHQgYm90dG9tLFxuXHQgICAgdG8gdG9wIGxlZnQgICAgIDogYm90dG9tIHJpZ2h0XG5cdCk7XG5cblx0QGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XG4gICAgXHRAcmV0dXJuIG1hcC1nZXQoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpO1xuICBcdH1cblxuICBcdEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XG59XG5cbkBtaXhpbiByb3dNYWNoaW5lKCRudW1QZXJSb3csICRtYXJnaW4pIHtcbiAgd2lkdGg6ICgoMTAwJSAtICgoJG51bVBlclJvdyAtIDEpICogJG1hcmdpbikpIC8gJG51bVBlclJvdyk7XG4gICY6bnRoLWNoaWxkKG4pIHtcbiAgICBtYXJnaW4tYm90dG9tOjI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICB9XG4gICY6bnRoLWNoaWxkKCN7JG51bVBlclJvd31uKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztFQU1FO0FBRUYsOEZBQThGO0FDUjlGOztnRkFFZ0Y7QUE0RmhGOzs7Ozs7MEhBTTBIO0FEakYxSCxBQUFBLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBQyxLQUFLO0VBQUUsTUFBTSxFQUFDLElBQUk7RUFBRSxLQUFLLEVBQUMsSUFBSSxHQUV0QztFQUhELEFBRUMsT0FGTSxHQUVGLEdBQUcsQ0FBQztJQUFDLE9BQU8sRUFBQyxVQUFVO0lBQUUsTUFBTSxFQUFDLElBQUk7SUFBRSxLQUFLLEVBQUMsSUFBSTtJQUFFLFVBQVUsRUFBRSxNQUFNO0lBQUUsY0FBYyxFQUFDLE1BQU0sR0FBRzs7QUFHbkcsQUFBQSxNQUFNLENBQUM7RUFBQyxPQUFPLEVBQUMsVUFBVTtFQUFFLE1BQU0sRUFBQyxJQUFJO0VBQUUsS0FBSyxFQUFDLElBQUk7RUFBRSxVQUFVLEVBQUUsTUFBTTtFQUFFLGNBQWMsRUFBQyxNQUFNLEdBQUc7O0FBRWpHLEFBQUEsTUFBTSxBQUFBLE1BQU0sQ0FBQztFQUFDLE9BQU8sRUFBRSxFQUFFO0VBQUUsT0FBTyxFQUFFLEtBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHOztBQUd6RCxBQUFBLFFBQVEsR0FBRyxFQUFFLEFBQUEsWUFBWSxFQUFFLFdBQVcsR0FBRyxFQUFFLEFBQUEsWUFBWSxDQUFDO0VBQUMsT0FBTyxFQUFDLElBQUksR0FBRzs7QUFDeEUsQUFBQSxjQUFjLEdBQUcsZ0JBQWdCLEFBQUEsU0FBUyxDQUFDO0VBQUMsVUFBVSxFQUFDLGNBQWMsR0FBRzs7QUFDeEUsQUFBQSxNQUFNLEFBQUEsT0FBTyxBQUFBLG9CQUFvQixDQUFDLHlCQUF5QixDQUFDO0VBQUMsT0FBTyxFQUFDLElBQUksR0FBRzs7QUFFNUUsQUFBQSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0VBQUMsV0FBVyxFQUFDLG9CQUFvQixHQUFHOztBQUNsRixBQUFBLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUU7RUFBQyxXQUFXLEVBQUMsb0JBQW9CLEdBQUc7O0FBRWxGLEFBQUEsdUJBQXVCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztFQUFDLFdBQVcsRUFBQyxvQkFBb0IsR0FBRzs7QUFDbEYsQUFBQSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO0VBQUMsV0FBVyxFQUFDLG9CQUFvQixHQUFHOztBQUdqRixBQUFBLHFCQUFxQixDQUFDO0VBQUMsbUJBQW1CLEVBQUMsb0JBQW9CO0VBQUUsZUFBZSxFQUFDLGtCQUFrQjtFQUFFLGlCQUFpQixFQUFDLFNBQVMsR0FBRzs7QUFFbkksQUFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDO0VBQUMsY0FBYyxFQUFDLFNBQVMsR0FBRzs7QUFFekMsQUFBQSxVQUFVLENBQUM7RUFBQyxXQUFXLEVBQUMsY0FBYyxHQUFHOztBQUN6QyxBQUFBLFlBQVksQ0FBQztFQUFDLEtBQUssRUE5QlYsT0FBTyxHQThCYTs7QUFFN0IsQUFBQSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7RUFBQyxlQUFlLEVBQUMsU0FBUyxHQUFHOztBQUVoRCxBQUFBLElBQUksQ0FBQztFQUNKLE9BQU8sRUFBQyxDQUFDO0VBQUUsVUFBVSxFQUFDLElBQUksR0FFMUI7O0FBRUQsQUFBQSxXQUFXLEFBQUEsUUFBUSxDQUFDO0VBQ25CLE9BQU8sRUFBQyxvQkFBb0I7RUFBRSxnQkFBZ0IsRUF4Q3RDLE9BQU8sQ0F3Q3VDLFVBQVU7RUFBRSxLQUFLLEVBQUMsZUFBZTtFQUFFLFdBQVcsRUFBQyxjQUFjO0VBQUUsU0FBUyxFQUFDLGVBQWU7RUFBRSxjQUFjLEVBQUMsU0FBUyxHQUN4Szs7QUFFRCxBQUFBLEVBQUUsQUFBQSxlQUFlLENBQUM7RUFBQyxjQUFjLEVBQUMsU0FBUyxHQUFHOztBQUM5QyxBQUFBLHFCQUFxQixDQUFDO0VBQUMsS0FBSyxFQTVDbkIsT0FBTyxHQTRDc0I7O0FBRXRDLEFBQUEscUJBQXFCLENBQUM7RUFBQyxhQUFhLEVBQUMsWUFBWTtFQUFFLGNBQWMsRUFBQyxZQUFZLEdBQUc7O0FBQ2pGLEFBQUEsWUFBWSxDQUFDO0VBQUMsS0FBSyxFQS9DVixPQUFPLENBK0NXLFVBQVU7RUFBRSxTQUFTLEVBQUMsZUFBZTtFQUFFLFVBQVUsRUFBQyxnQkFBZ0IsR0FBRzs7QUFDaEcsQUFBQSxhQUFhLENBQUM7RUFBQyxPQUFPLEVBQUMsaUJBQWlCLEdBQUc7O0FBQzNDLEFBQUEsWUFBWSxDQUFDO0VBQUMsS0FBSyxFQUFDLGNBQWM7RUFBRSxNQUFNLEVBQUMsY0FBYztFQUFFLE1BQU0sRUFBQyxjQUFjLEdBQUc7O0FBQ25GLEFBQUEsb0JBQW9CLENBQUM7RUFBQyxTQUFTLEVBQUMsZUFBZTtFQUFFLFdBQVcsRUFBQyxjQUFjO0VBQUUsY0FBYyxFQUFDLFNBQVMsR0FBRzs7QUFDeEcsQUFBQSxpQkFBaUIsQ0FBQztFQUFDLFdBQVcsRUFBQyxnQkFBZ0IsR0FBRzs7QUFDbEQsQUFBQSxZQUFZLENBQUMsQ0FBQyxDQUFDO0VBQUMsS0FBSyxFQUFDLGVBQWUsR0FBRzs7QUFDeEMsQUFBQSxnQkFBZ0IsQ0FBQztFQUFDLEtBQUssRUFyRGQsT0FBTyxDQXFEZSxVQUFVO0VBQUUsY0FBYyxFQUFDLGNBQWMsR0FBRzs7QUFDM0UsQUFBQSxlQUFlLEFBQUEsUUFBUSxDQUFDO0VBQUMsT0FBTyxFQUFFLGFBQWE7RUFBRSxLQUFLLEVBQUUsSUFBSTtFQUFFLE1BQU0sRUFBRSxJQUFJO0VBQUUsZ0JBQWdCLEVBQUUsT0FBTztFQUFFLEdBQUcsRUFBQyxZQUFZO0VBQUUsSUFBSSxFQUFDLFlBQVksR0FBRzs7QUFFN0ksQUFDQyxZQURXLENBQ1gsYUFBYSxDQUFDO0VBQUMsVUFBVSxFQUFDLE1BQU0sR0FBRzs7QUFEcEMsQUFFQyxZQUZXLENBRVgsaUJBQWlCLENBQUM7RUFBQyxPQUFPLEVBQUMsdUJBQXVCLEdBQUc7O0FBRnRELEFBR0MsWUFIVyxDQUdYLGFBQWEsQ0FBQztFQUFDLFlBQVksRUFBQyxDQUFDLEdBQUc7O0FBR2pDLEFBQ0MsTUFESyxDQUNMLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FEUCxNQUFNLENBQ2UsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixHQUQzQixNQUFNLENBQ29DLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsR0FEaEQsTUFBTSxDQUN1RCxRQUFRLENBQUM7RUFBQyxLQUFLLEVBQUMsSUFBSTtFQUFFLGdCQUFnQixFQUFDLGtCQUFrQjtFQUFFLE1BQU0sRUFBQyw0QkFBNEI7RUFBRSxNQUFNLEVBQUMsTUFBTTtFQUFFLFNBQVMsRUFBQyxJQUFJO0VBQUUsS0FBSyxFQUFDLElBQUk7RUFBRSxPQUFPLEVBQUUsU0FBUztFQUFFLFdBQVcsRUFBRSw0Q0FBNEM7RUFBRSxXQUFXLEVBQUMsY0FBYyxHQUFHOztBQURwVCxBQUVDLE1BRkssQ0FFTCxhQUFhLENBQUM7RUFBQyxnQkFBZ0IsRUFBQyxrQkFBa0I7RUFBRSxNQUFNLEVBQUMsNEJBQTRCO0VBQUUsT0FBTyxFQUFDLFNBQVM7RUFBRSxhQUFhLEVBQUMsWUFBWSxHQUFHOztBQUcxSSxBQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7RUFDL0gsS0FBSyxFQUFDLGdCQUFnQjtFQUFFLEtBQUssRUFBQyxJQUFJO0VBQUUsUUFBUSxFQUFDLFFBQVE7RUFBRSxZQUFZLEVBQUUsSUFBSTtFQUFFLGFBQWEsRUFBRSxJQUFJLEdBRTlGO0VDaEVDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRDZEMUIsQUFBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO01BRWhHLEtBQUssRUFBQyxlQUFlO01BQUUsV0FBVyxFQUFDLENBQUM7TUFBRSxZQUFZLEVBQUMsQ0FBQyxHQUNuRjs7QUFFRCxBQUFBLEdBQUcsQUFBQSxtQkFBbUIsQ0FBQztFQUFDLEtBQUssRUF4RXBCLE9BQU8sQ0F3RXFCLFVBQVUsR0FBRzs7QUFFbEQsQUFBQSxRQUFRLEVBQUUsVUFBVSxDQUFDO0VBQ3BCLFdBQVcsRUFBQyxJQUFJO0VBQUUsWUFBWSxFQUFDLFlBQVksR0FFM0M7RUN2RUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lEb0UxQixBQUFBLFFBQVEsRUFBRSxVQUFVLENBQUM7TUFFVyxXQUFXLEVBQUMsQ0FBQztNQUFFLFlBQVksRUFBQyxDQUFDLEdBQzVEOztBQUNELEFBQUEsSUFBSSxBQUFBLG9CQUFvQixDQUFDO0VBQUMsZ0JBQWdCLEVBQUMsa0JBQWtCLEdBQUc7O0FBRWhFLEFBQUEsaUJBQWlCLENBQUM7RUFBQyxPQUFPLEVBQUMsZ0JBQWdCLEdBQUc7O0FBRTlDLEFBQUEsRUFBRSxDQUFDO0VBQ0YsUUFBUSxFQUFDLFFBQVEsR0FFakI7RUMvRUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lENEUxQixBQUFBLEVBQUUsQ0FBQztNQUU2QixTQUFTLEVBQUMsZUFBZSxHQUN4RDs7QUMvRUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VEaUYxQixBQUFBLEVBQUUsQUFBQSxJQUFLLENBQUEsZUFBZSxFQUFFO0lBQ1EsU0FBUyxFQUFDLGVBQWUsR0FDeEQ7O0FDbkZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFRHFGMUIsQUFBQSxZQUFZLENBQUM7SUFDbUIsTUFBTSxFQUFDLGVBQWUsR0FDckQ7O0FDdkZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFRHlGMUIsQUFBQSxhQUFhLENBQUM7SUFDa0IsTUFBTSxFQUFDLGVBQWUsR0FDckQ7O0FDM0ZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFRDZGMUIsQUFBQSxZQUFZLENBQUM7SUFDbUIsTUFBTSxFQUFDLGVBQWUsR0FDckQ7O0FDL0ZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFRGlHMUIsQUFBQSxZQUFZLEFBQUEsV0FBVyxDQUFDO0lBQ1EsTUFBTSxFQUFDLGdCQUFnQixHQUN0RDs7QUNuR0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VEcUcxQixBQUFBLG1CQUFtQixDQUFDO0lBQ1ksYUFBYSxFQUFDLGVBQWUsR0FDNUQ7O0FDdkdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFRHlHMUIsQUFDQyxZQURXLENBQ1gsRUFBRSxDQUFDO0lBQWdDLE9BQU8sRUFBQyxJQUFJLEdBQUk7O0FDMUdsRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUQ2RzFCLEFBQUEsaUJBQWlCLENBQUM7SUFDYyxPQUFPLEVBQUMsSUFBSSxHQUMzQzs7QUFFRCxBQUFBLFNBQVMsQ0FBQztFQUNULE9BQU8sRUFBQyxPQUFPLEdBRWY7RUNwSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lEaUgxQixBQUFBLFNBQVMsQ0FBQztNQUVzQixPQUFPLEVBQUMsTUFBTSxHQUM3Qzs7QUFFRCxBQUNDLGdCQURlLENBQ2YsRUFBRSxDQUFDLENBQUMsQUFBQSxPQUFPLENBQUM7RUFBQyxPQUFPLEVBQUMsS0FBSztFQUFFLE9BQU8sRUFBQyxFQUFFO0VBQUUsUUFBUSxFQUFDLFFBQVE7RUFBRSxHQUFHLEVBQUMsSUFBSTtFQUFFLElBQUksRUFBQyxJQUFJO0VBQUUsS0FBSyxFQUFDLElBQUk7RUFBRSxNQUFNLEVBQUMsSUFBSTtFQUFFLFVBQVUsRUFBQyxpREFBaUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7RUFBRSxlQUFlLEVBQUMsT0FBTyxHQUFHOztBQURyTixBQUVDLGdCQUZlLENBRWYsRUFBRSxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUUsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyxpREFBaUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7RUFBRSxlQUFlLEVBQUMsT0FBTyxHQUFHOztBQUZ0SSxBQUdDLGdCQUhlLENBR2YsRUFBRSxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUUsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyxpREFBaUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7RUFBRSxlQUFlLEVBQUMsT0FBTyxHQUFHOztBQUh0SSxBQUlDLGdCQUplLENBSWYsRUFBRSxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUUsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyxpREFBaUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7RUFBRSxlQUFlLEVBQUMsT0FBTyxHQUFHOztBQzFIcEksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VEOEgxQixBQUFBLEVBQUUsQUFBQSxlQUFlLENBQUM7SUFDYyxXQUFXLEVBQUMsZUFBZTtJQUFFLFNBQVMsRUFBQyxlQUFlLEdBQ3JGOztBQUVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsS0FBSztFQUM5RCxBQUFBLGVBQWUsQ0FBQztJQUFDLEtBQUssRUFBQyxlQUFlO0lBQUUsTUFBTSxFQUFDLGVBQWUsR0FBRzs7QUFHbEUsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0VBQzlELEFBQUEsYUFBYSxBQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQUMsS0FBSyxFQUFDLGVBQWU7SUFBRSxNQUFNLEVBQUMsZUFBZSxHQUFHOztBQUc3RixBQUFBLGdCQUFnQixBQUFBLFFBQVEsQ0FBQztFQUN4QixPQUFPLEVBQUMsSUFBSSxHQUVaO0VDN0lDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRDBJMUIsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLENBQUM7TUFFTyxRQUFRLEVBQUMsUUFBUTtNQUFFLE9BQU8sRUFBQyxLQUFLO01BQUUsR0FBRyxFQUFDLEdBQUc7TUFBRSxJQUFJLEVBQUMsR0FBRztNQUFFLEtBQUssRUFBQyxHQUFHO01BQUUsTUFBTSxFQUFDLEdBQUc7TUFBRSxPQUFPLEVBQUMsRUFBRTtNQUFFLE9BQU8sRUFBQyxLQUFLO01BQUUsZ0JBQWdCLEVBQU0sS0FBSSxHQUNoSzs7QUFNRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2hCLE9BQU8sRUFBQyxJQUFJLEdBRVo7RUN0SkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lEbUoxQixBQUFBLGdCQUFnQixDQUFDO01BRWUsT0FBTyxFQUFDLEtBQUssR0FDNUM7O0FBR0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFQUV4QyxBQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUFDLE9BQU8sRUFBQyxlQUFlLEdBQUcifQ== */
